最近 3 晚 00:00 UTC,服务器停止响应,所有服务也停止,服务器负载达到 1800-3500,而我们只有 24 个处理器。我们只能在WHM的起始页登录,也无法通过ssh连接。在 WHM 进程管理器中,我们看到许多ps -fe
进程占用了大量负载,负载范围从 0% 到 13400%。我们还遇到了类似的错误2019/02/06 01:00:10 [crit] 24232#0: accept4() failed (23: Too many open files in system); proftpd[3208]: 213.136.76.210 - error: unable to accept an incoming connection: Too many open files in system; kernel: [82478.961892] VFS: file-max limit 131072 reached; [Wed Feb 06 01:39:35 2019] [emerg] (23)Too many open files in system: Couldn't create pollset in child; check system or user limits
同样是在昨天使用 lsof 后,出现了很多这样的行:
sshd 31611 root mem REG 8,2 124624 152567850 /lib64/libselinux.so.1
sshd 31611 root mem REG 8,2 22536 152568210 /lib64/libdl-2.12.so
sshd 31611 root mem REG 8,2 58480 152567836 /lib64/libpam.so.0.82.2
sshd 31611 root mem REG 8,2 144208 152568295 /lib64/libaudit.so.1.0.0
sshd 31611 root mem REG 8,2 43256 152567966 /lib64/libwrap.so.0.7.6
sshd 31611 root mem REG 8,2 12688 152567978 /lib64/libfipscheck.so.1.1.0
sshd 31611 root mem REG 8,2 157072 152567862 /lib64/ld-2.12.so
确实没能找到这个问题的原因。我们在 CENTOS 6.7 上运行 WHM v76.0.18
答案1
如果您可以重现该问题:
cron
检查此时是否有任何作业正在运行,并了解它们在做什么。请特别注意那些不属于软件包但由您自己或其他用户编写的脚本。检查多个
ps -fe
进程的父进程。也许您在某处发现了有问题的脚本。
正在运行的sshd
进程打开了多个库是正常行为,但许多正在运行的进程可能表明存在问题。