- 原因
Linux 报 "too many users" 的原因是因为系统同时运行的用户数量达到了系统最大限制,因此无法再新建其他用户登录。
该限制主要受以下参数控制:
- maxlogins:规定最多允许多少个用户同时登录系统;
- nproc:规定单个用户创建的进程数上限;
- nofile:规定单个用户同时持有的文件数上限;
-
nproc和nofile都可以通过ulimit命令查询和修改。
-
解决办法
(1)查看当前系统的限制:
使用ulimit -a命令可以查看当前系统的限制情况。
例如,运行以下命令:
ulimit -a
会显示出系统的限制信息,其中可以看到一些提到了maxlogins、nproc和nofile等参数。
(2)临时调整用户的限制:
使用以下命令可以暂时提高某个用户的nproc限制(这里假设要提高用户test的限制):
ulimit -u 2048
su - test
其中 “-u” 参数代表要修改的参数是nproc,后跟改后的数值 2048。
(3)修改系统全局的限制:
如果要修改系统所有用户的限制,可以在 /etc/security/limits.conf 文件中设置,比如:
* hard nproc 2048
其中 * 代表所有用户,hard 代表限制是硬限制,nproc代表要修改的参数是nproc,2048是具体的数值,表示每个用户的nproc上限。
(4)为新用户设置默认限制:
可以在 /etc/profile 文件中设置默认限制,比如:
ulimit -u 1024
表示每个新创建的用户的nproc上限是1024。
综上所述,当Linux报 “too many users” 时,我们需要根据具体情况分析是哪个参数超了限制,然后采取相应的调整措施,以解决这个问题。