下面的方法某种情况起作用
centos6.5/linux系统对线程数量有个最大限制,当达到系统限制的最大线程数时使用账号密码ssh到系统时是无法登陆的,会报Write failed: Broken pipe,在root用户下切换到该用户会报 su: 无法设置用户ID: 资源暂时不可用
使用root用户登录到系统
方法/步骤
-
# su - xxx(普通用户)
su: 无法设置用户ID: 资源暂时不可用
-
# ulimit -u
1024
由此可以看出最大线程数为1024
-
修改最大线程数的配置
# vi /etc/security/limits.d/90-nproc.conf
内容如下:
* soft nproc 1024
root soft nproc unlimited
上面可以看除了root用户外的所有用户均限制为1024,因此通过可以注释此行或者将值改大来解决该问题修改完成后保存退出,这样的修改是立马生效的
经测试成功
另外下面这个文件既可以改系统线程数也可以改打开发文件线程数
vi /etc/security/limits.conf
添加
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
*代表所有用户
ulimit -u 可以查看 当前用户系统线程数
ulimit -n 可以查看 当前用户文件打开线程数