su: cannot set user id: Resource temporarily unavailable 解决方法
故障原因:
开发经常登录的一台测试机,突然反馈连接不上。使用CRT/xshell 账号登录发现界面闪一下就拒绝连接了。
使用root账号发现可以登录进来,切换开发的用户发现报如下错误:
[root@deopvs06 ~]# su - devops0001
su: cannot set user id: Resource temporarily unavailable
排除步骤:
一看报错就是资源限制了,当时百度了一下,都说是和limit 一些配置参数大小有关。总结后解决。此处主要修改了两个配置文件:
1:/etc/security/limits.d/(改65535)
[root@deopvs06 limits.d]# cat 90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 65535
root soft nproc unlimited
2:/etc/security/limits.conf (把下面的数字尽量改大,我这边都是改成65535了)
* soft nofile 65535
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535
# End of file
[root@deopvs06 security]# cat limits.conf
修改这两个文件不需要重启,改完就生效,再次用开发账户就可以正常连接了。
如果还搞不定,就把和这个用户有关的进程,打开的文件句柄都kill掉。这样也可以再次连上释放资源。