33.9. 使用 systemd 单元文件为应用程序设置限制


systemd 服务管理器监督每个现有或正在运行的单元,并为它们创建控制组。该单元在 /usr/lib/systemd/system/ 目录中有配置文件。

您可以手动将单元文件修改为:

  • 设置限制。
  • 优先顺序。
  • 控制对进程组的硬件资源的访问。

先决条件

  • root 权限。

流程

  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

验证

  1. 检查更改是否生效:

    # cat /sys/fs/cgroup/system.slice/example.service/memory.max
    1536000

    示例输出显示,内存消耗会限制在大约 1,500 KB。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.