最近的一个项目中,应用会起大量线程并打开大量文件,在正常运行一天后就发现程序不能正常运行了,登录进应用用户发现提示“Resource temporarily unavailable”,结果是ulimit的参数没有设置“max user processes”项,导致默认的1024设置值不够用。解决方法如下:
1.切换root用户
2.vi /etc/security/limits.conf
3.在文件末添加如下代码:
#修改用户最大进程数nproc 最大打开文件数nofile
#将username替换为你的用户名
username soft nofile 65536
username hard nofile 65536
username soft nproc 10240
username hard nproc 10240
4.切换进用户,重启应用
5.收工