su切换用户报错cannot set user id: Resource temporarily unavailable

Posted wclwcw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了su切换用户报错cannot set user id: Resource temporarily unavailable相关的知识,希望对你有一定的参考价值。

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。
解决方法:在宿主机和每一台虚拟机上修改文件
[[email protected]]# vim /etc/security/limits.d/90-nproc.conf
   *          soft    nproc     1024        (改成4096)
 
问题解决。
用ulimit -u -n -a 查看相关信息
 

以上是关于su切换用户报错cannot set user id: Resource temporarily unavailable的主要内容,如果未能解决你的问题,请参考以下文章

数据库服务器报 cannot set user id: Resource temporarily unavailable错误

su命令cannot set groups: Operation not permitted的解决方法

Linux中创建用户 su命令 显示不出来新建的用户 l su: warning: cannot change directory to /home/s

Linux学习笔记(十三) su sudo 限制root远程登陆

Linux 系统中用户切换(su user与 su - user 的区别)

linux之切换用户su(switch user)