resolved – su: cannot set user id: Resource temporarily unavailable
When i try to log on as user "test", error occurred:
su: cannot set user id: Resource temporarily unavailable
I had a check of limits.conf:
[root@testvm ~]# cat /etc/security/limits.conf|egrep -v '^$|^#' oracle soft nofile 131072 oracle hard nofile 131072 oracle soft nproc 131072 oracle hard nproc 131072 oracle soft core unlimited oracle hard core unlimited oracle soft memlock 50000000 oracle hard memlock 50000000 @svrtech soft memlock 500000 @svrtech hard memlock 500000 * soft nofile 131072 * hard nofile 131072 * soft nproc 131072 * hard nproc 131072 * soft core unlimited * hard core unlimited * soft memlock 50000000 * hard memlock 50000000
Then I had a check of the number of processes/threads with the maximum number of processes to see whether it's coming over the line:
[root@c9qa131-slcn03vmf0293 ~]# ps -eLF | grep test | wc -l
So it's not exceeding. Then I had a check of open files:
[root@testvm ~]# lsof | grep aime | wc -l
It's not exceeding 131072 either, then why the error "su: cannot set user id: Resource temporarily unavailable" was there? Actually the culprit was in file /etc/security/limits.d/90-nproc.conf:
[root@testvm ~]# cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
root soft nproc unlimited
After I modified 1024 to 131072, the issue gone away immediately.