CentOS:too many open files

最大文件数限制:

在CentOS中,有时使用systemctl启动某个服务之后,通过cat /proc/$pid/limits命令查看到它的资源限制与/etc/security/limits.conf中配置的不一致。

原因:

CentOS7中,使用systemd替代了之前的SysV,因此/etc/security/limits.conf文件的配置作用域缩小了一些。
limits.conf中的的配置,只适用于通过PAM认证登录用户的资源限制,即对systemd的service的资源限制不生效。

解决方案:

若通过systemctl start启动服务,则需要在对应的service文件中添加如下配置:

LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000