Red Hat Training
A Red Hat training course is available for RHEL 8
25.5. 使用单元文件配置内存资源控制设置
每个持久性单元都由 systemd
系统和服务管理器监管,并在 /usr/lib/systemd/system/
目录中有一个单元配置文件。要更改永久单元的资源控制设置,可在文本编辑器中手动或从命令行界面修改其单元配置文件。
手动修改单元文件是为进程组设置限制、优先级或控制对硬件资源的访问的一种方式。
流程
要限制服务的内存用量,请修改
/usr/lib/systemd/system/example.service
文件,如下所示:… [Service] MemoryMax=1500K …
以上配置对在控制组中执行的进程的最大内存消耗设定了限制,
example.service
是该控制组中的一部分。注意使用后缀 K、M、G 或 T 将 Kilobyte、Megabyte、Gigabyte 或 Terabyte 识别为一个测量单位。
重新载入所有单元配置文件:
# systemctl daemon-reload
重启服务:
# systemctl restart example.service
- 重启系统。
(可选)检查更改是否生效:
# cat /sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes 1536000
示例输出显示内存消耗被限制在大约 1,500 KB。
注意memory.limit_in_bytes
文件将内存限制存储为 4096 字节的倍数 - 一个内核页面大小,专用于 AMD64 和 Intel 64。实际的字节数量取决于 CPU 构架。
其它资源
- 了解控制组群
- 内核资源控制器
-
systemd.resource-control(5)
,cgroups(7)
manual pages - 在 RHEL 中配置基本系统设置
- 控制组群中的 systemd 角色