Centos 7 修改 ulimit 后 systemctl 启动服务无效

背景

线上服务报错 too many open files 。修改 ulimit 配置后,使用 systemctl 重启服务,仍然报 too many open files
通过 /proc/进程ID/limits 查看,发现进程的 Max open files 没有变化

解决方案

vim /etc/systemd/system.conf
修改如下两个配置

DefaultLimitNOFILE=102400
DefaultLimitNPROC=65535

重启服务器后即生效

原因

在Centos 7系统中,/etc/security/limits.conf 文件的配置作用域缩小了。/etc/security/limits.conf 的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。
对于systemd service的资源设置,则需修改全局配置,全局配置文件放在/etc/systemd/system.conf/etc/systemd/user.conf

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。