如何为 systemd 服务设置 ulimit 值

这篇文章说明了如何更改 ulimit 限制,例如 systemd 服务的最大打开文件数。
在 CentOS/RHEL 7 或者 8 系统中,/etc/security/limits.conf 或者 /etc/security/limits.d/ 中所做的更改对 systemd 服务没有影响。

Systemd 故意忽略系统范围的 ulimit 设置,以尽量减少由 shell 配置文件和脚本引起的无意或者意外的限制更改。

我们可以为特定服务设置新的最大打开文件限制,例如,如下所示:

  1. 在 /usr/lib/systemd/system 中确定我们想要的 name.service 文件。

  2. 将该文件复制到 /etc/systemd/system 目录。

  3. 在 /etc/systemd/system 中编辑复制的文件并添加以下行:

LimitNOFILE=2048
  1. 重启服务:
# systemctl restart [service name]
更多: zhilu jiaocheng

全局更新所有 systemd 服务的 ulimit 值

或者,我们可以为所有 systemd 服务更新相同的限制,如下所示:

  1. 编辑 /etc/systemd/system.conf 并取消注释“#DefaultLimitNOFILE=”行,添加所需的数字。

  2. 重启系统:

# systemctl reboot
日期:2020-09-17 00:12:39 来源:oir作者:oir