为了防止失控的进程破坏系统的性能,UNIX和Linux会跟踪进程使用的大部分资源,并允许用户和系统管理员使用对进程的资源限制,例如控制某个进程打开的文件数、对某个用户打开系统进程数进行限制等,一般限制手段包括软限制和硬限制。
当日志出现以下情况中的一种时,需要考虑修改nproc:
查看所有用户创建的进程数
ps h -Led -o user | sort | uniq -c | sort -n
默认Linux内核对每个用户设置了打开文件最大数为1024,对于高并发场景,是远远不够的,需要将默认值调整到更大
ulimit -n 65535
ulimit -u 65535
修改/etc/security/limits.conf,在末尾修改以下内容
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535