centos 7.x设置守护进程的文件数量限制
在Bash中有个ulimit命令,提供了对Shell及该Shell启动的进程的可用资源控制。主要包括打开文件描述符数量、用户的最大进程数量、coredump文件的大小等。 在CentOS 5/6等版本中,资源限制的配置可以在 * soft nofile 100000 * hard nofile 100000 * soft nproc 100000 * hard nproc 100000 * soft core 100000 * hard core 100000 不过,在CentOS 7/RHEL 7的系统中,使用Systemd替代了之前的SysV,因此 对于systemd service的资源限制,如何配置呢? 全局的配置,放在文件 DefaultLimitCORE=infinity DefaultLimitNOFILE=100000 DefaultLimitNPROC=100000 注意:修改了system.conf后,需要重启系统才会生效。 针对单个Service,也可以设置,以nginx为例。 编辑 [Service] LimitCORE=infinity LimitNOFILE=100000 LimitNPROC=100000 然后运行如下命令,才能生效。 sudo systemctl daemon-reload sudo systemctl restart nginx.service 查看一个进程的limit设置: 例如我的一个nginx service的配置效果: $ cat /proc/$(cat /var/run/nginx.pid)/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size unlimited unlimited bytes Max resident set unlimited unlimited bytes Max processes 100000 100000 processes Max open files 100000 100000 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 1030606 1030606 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us 顺便提一下,CentOS7自带的 参考文档: man systemd man systemd-system.conf (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |