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掉。这样也可以再次连上释放资源。

原文地址:https://www.cnblogs.com/jim-xu/p/12486333.html