搜索

25.5. 使用单元文件配置内存资源控制设置

download PDF

每个持久性单元都由 systemd 系统和服务管理器监管,并在 /usr/lib/systemd/system/ 目录中有一个单元配置文件。要更改永久单元的资源控制设置,可在文本编辑器中手动或从命令行界面修改其单元配置文件。

手动修改单元文件是为进程组设置限制、优先级或控制对硬件资源的访问的一种方式。

流程

  1. 要限制服务的内存用量,请修改 /usr/lib/systemd/system/example.service 文件,如下所示:

    …​
    [Service]
    MemoryMax=1500K
    …​

    以上配置对在控制组中执行的进程的最大内存消耗设定了限制,example.service 是该控制组中的一部分。

    注意

    使用后缀 K、M、G 或 T 将 Kilobyte、Megabyte、Gigabyte 或 Terabyte 识别为一个测量单位。

  2. 重新载入所有单元配置文件:

    # systemctl daemon-reload
  3. 重启服务:

    # systemctl restart example.service
  4. 重启系统。
  5. (可选)检查更改是否生效:

    # 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 构架。

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.