su: cannot set user id: 资源暂时不可用
登录root
su - tomcat
报错:
cannot set user id: Resource temporarily unavailable
tomcat账号突然不可用。
根本原因是:linux操作系统默认最大允许进程数是1024. 随着应用的增加,我们的需求已超过了1024
曾经改过nproc配置:
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF
据说这个更改只是增加了读文件的句柄数。并未真正增加最大允许进程中。
我们所使用的是lxc虚拟机,共享宿主机资源。今天某个lxc上的java增加了20个线程(Java里面的一个线程在Linux下会最终映射成操作系统的一个进程),导致宿主机进程数超过1024。
解决方法:在宿主机和每一台虚拟机上修改文件
[root@vm]# vim /etc/security/limits.d/90-nproc.conf
* soft nproc 1024 (改成4096)
问题解决。
用ulimit -u -n -a 查看相关信息
本文介绍了当Linux系统中进程数达到默认上限1024时出现的问题及解决方案。通过调整宿主机与虚拟机上的进程数限制,成功解决了因进程数量不足而导致的应用不可用问题。
1644

被折叠的 条评论
为什么被折叠?



