Red Hat Training

A Red Hat training course is available for RHEL 8

25.4. 在命令行中配置内存资源控制设置

在命令行界面中执行命令是针对进程组设置限制、优先级或控制对硬件资源的访问的一种方式。

流程

  • 要限制服务的内存用量,请运行以下命令:

    # systemctl set-property example.service MemoryMax=1500K

    命令会立即将 1,500 KB 的内存限值分配给 example.service 服务所属的控制组中执行的进程。此配置变体中的 MemoryMax 参数在 /etc/systemd/system.control/example.service.d/50-MemoryMax.conf 文件中定义,并控制 /sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes 文件的值。

  • 另外,要临时限制服务的内存用量,请运行:

    # systemctl set-property --runtime example.service MemoryMax=1500K

    命令会立即为 example.service 服务分配内存限值。MemoryMax 参数被定义,直到 /run/systemd/system.control/example.service.d/50-MemoryMax.conf 文件中的下一个重启为止。重启后,整个 /run/systemd/system.control/ 目录和 MemoryMax 会被删除。

注意

50-MemoryMax.conf 文件存储内存限制,为 4096 字节的倍数 - 特定于 AMD64 和 Intel 64 的内核页大小。实际的字节数量取决于 CPU 构架。

其它资源