问题
部署很多个微服务的linux服务器ssh远程突然进不去,远程工具提示:[USM] Channel request shell failed
排查分析
因为部署的是很多个java进程,有可能线程数占满导致系统可创建线程耗尽,排查步骤如下:
- 使用非远程方式进入服务器,使用
top -H
命令查看系统创建的线程数: - 查看系统允许创建的线程数
cat /etc/security/limit.d/20-nproc.conf
如下:
# 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
显然系统允许创建的要比使用实际创建的小,是这个问题导致的系统无法再创建新的线程。
问题处理
修改/etc/security/limit.d/20-nproc.conf如下:
* soft nproc unlimited
root soft nproc unlimited
注:修改后退出当前bash再次进入生效。
标签:shell,java,创建,unlimited,limit,报错,nproc,线程,soft From: https://blog.51cto.com/u_14843781/6599699