su: cannot set user id: Resource temporarily unavailable 问题分析和解决

有时候linux执行 su 切换用户会出错

[root@gyvm-4 ~]# su - hdfs
su: cannot set user id: Resource temporarily unavailable

原因是linux操作系统默认最大允许进程数是1024,当前节点hdfs用户开启进程数超过了该数字

可以看到hdfs用户开启了1622个进程,已经超过了默认值

[root@gyvm-4 limits.d]# lsof -u hdfs | wc -l
1622

修改 /etc/security/limits.d/90-nproc.conf,将soft nproc的值从1024改为4096,完成

# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited


保存后可以正常切换用户。

[root@gyvm-4 limits.d]# su - hdfs
[hdfs@gyvm-4 ~]$

你可能感兴趣的:(linux)