centos 7.x设置守护进程的文件数量限制
来源:互联网 发布:超滤膜端口连接 编辑:程序博客网 时间:2024/06/04 18:36
在Bash中有个ulimit命令,提供了对Shell及该Shell启动的进程的可用资源控制。主要包括打开文件描述符数量、用户的最大进程数量、coredump文件的大小等。
在CentOS 5/6等版本中,资源限制的配置可以在/etc/security/limits.conf
设置,针对root/user等各个用户或者*代表所有用户来设置。 当然,/etc/security/limits.d/
中可以配置,系统是先加载limits.conf然后按照英文字母顺序加载limits.d目录下的配置文件,后加载配置覆盖之前的配置。 一个配置示例如下:
* soft nofile 100000* hard nofile 100000* soft nproc 100000* hard nproc 100000* soft core 100000* hard core 100000
不过,在CentOS 7/RHEL 7的系统中,使用Systemd替代了之前的SysV,因此/etc/security/limits.conf
文件的配置作用域缩小了一些。limits.conf这里的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。登录用户的限制,与上面讲的一样,通过/etc/security/limits.conf
和 limits.d来配置即可。
对于systemd service的资源限制,如何配置呢?
全局的配置,放在文件/etc/systemd/system.conf
和/etc/systemd/user.conf
。 同时,也会加载两个对应的目录中的所有.conf文件/etc/systemd/system.conf.d/*.conf
和/etc/systemd/user.conf.d/*.conf
其中,system.conf是系统实例使用的,user.conf用户实例使用的。一般的sevice,使用system.conf中的配置即可。systemd.conf.d/*.conf中
配置会覆盖system.conf。
DefaultLimitCORE=infinityDefaultLimitNOFILE=100000DefaultLimitNPROC=100000
注意:修改了system.conf后,需要重启系统才会生效。
针对单个Service,也可以设置,以nginx为例。
编辑/usr/lib/systemd/system/nginx.service
文件,或者/usr/lib/systemd/system/nginx.service.d/my-limit.conf
文件,做如下配置:
[Service]LimitCORE=infinityLimitNOFILE=100000LimitNPROC=100000
然后运行如下命令,才能生效。
sudo systemctl daemon-reloadsudo systemctl restart nginx.service
查看一个进程的limit设置:cat /proc/YOUR-PID/limits
例如我的一个nginx service的配置效果:
$ cat /proc/$(cat /var/run/nginx.pid)/limitsLimit Soft Limit Hard Limit UnitsMax cpu time unlimited unlimited secondsMax file size unlimited unlimited bytesMax data size unlimited unlimited bytesMax stack size 8388608 unlimited bytesMax core file size unlimited unlimited bytesMax resident set unlimited unlimited bytesMax processes 100000 100000 processesMax open files 100000 100000 filesMax locked memory 65536 65536 bytesMax address space unlimited unlimited bytesMax file locks unlimited unlimited locksMax pending signals 1030606 1030606 signalsMax msgqueue size 819200 819200 bytesMax nice priority 0 0Max realtime priority 0 0Max realtime timeout unlimited unlimited us
顺便提一下,CentOS7自带的/etc/security/limits.d/20-nproc.conf
,里面默认设置了非root用户的最大进程数为4096,被limit.d目录中的配置覆盖了。
参考文档:
man systemd
man systemd-system.conf
- centos 7.x设置守护进程的文件数量限制
- Linux进程关于文件描述符的数量限制
- Linux进程关于文件描述符的数量限制
- Tomcat 8在CentOS 7的守护进程设置
- 设置守护进程的文件权限创建掩码
- Android设置守护进程的安全上下文
- 限制perl多进程数量
- 守护进程设置
- Linux下的守护进程,以及自由设置的日志文件
- 可执行PHP文件的守护进程
- 创建守护进程的属性文件
- keepalived中设置Vrrp 的VIp 数量的限制
- 关于CentOS的一个新守护进程:yum-updatesd
- CFileDialog打开文件数量限制
- swap分区或文件的数量与大小限制
- linux修改用户打开文件数量的限制
- 设置linux的”最大打开文件数量
- cocos2d-x限制输入文字数量
- mysqldump(数据库导出)参数详细说明
- 4018
- ImportError: No module named requests
- 改变imageButton按下和抬起时的background图片
- 数学三次危机(三)“希帕索斯悖论”或“毕达哥拉斯悖论”
- centos 7.x设置守护进程的文件数量限制
- PHP100张恩民谈:IT人员短时间内获取三年工作经验
- shell脚本的组合运用
- 恢复centos7与windows7系统引导方法-亲测可用
- 细节积累
- 实时报警触发器
- Mysql JDBC Url参数说明
- RxJava 学习笔记(三)
- 静态类,静态函数,静态变量