我们的一台服务器当前的平均负载达到数十亿(ab),但报告显示它只有 1,031 个常驻线程:
top - 12:04:26 up 2 days, 19:03, 68 users, load average: 381713318.29, 2612390757.45, 2824329668.69
Threads: 1031 total, 10 running, 1019 sleeping, 2 stopped, 0 zombie
%Cpu(s): 34.0 us, 6.8 sy, 0.0 ni, 38.5 id, 20.6 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 49284928 total, 3913012 free, 3702836 used, 41669080 buff/cache
KiB Swap: 12582908 total, 12575140 free, 7768 used. 43752932 avail Mem
除了报告的平均负载异常高之外,机器似乎运行正常。它反应灵敏,系统日志中没有任何异常,等等。这是一台运行内核 3.10.0-327.36.3.el7.x86_64 的 CentOS 7 机器。
你们中有人之前见过类似的事情吗?或者有人能解释一下机器的平均负载高于线程数意味着什么吗?
答案1
我最好的猜测是光泽代码中有一个错误,它人为地增加了平均负载。
您是否在服务器上进行了监控,以便观察平均负载随时间的变化情况?它是单调增加的吗?几何级数增加?还是在启动/文件系统挂载/用户登录时立即增加到一个巨大的数字并保持在那里?