我完全困惑于此。
几台 CentOS 6.6 x64 服务器意外地出现巨大的系统负载。我想我已经检查过了,但不知道原因是什么。
我猜测进程正在等待的任何资源在某处都会存在瓶颈,但是是哪一个呢?
- CPU 使用率不高
- RAM 很多,但没有 SWAP。
- 本地DISK几乎没用
- 网络良好;活动没有可疑,也没有 RX/TX 错误。
- 有几个 NFS 挂载(尤其是用户主目录),但活动正常。请求很少。
- WAIT 队列中没有进程,没有僵尸......
首先,顶部输出:
top - 11:29:05 up 110 days, 18:47, 255 users, load average: 45.49, 46.77, 46.28
Tasks: 2447 total, 5 running, 2442 sleeping, 0 stopped, 0 zombie
Cpu(s): 23.9%us, 12.2%sy, 0.7%ni, 61.5%id, 0.3%wa, 0.0%hi, 1.4%si, 0.0%st
Mem: 65965108k total, 55072032k used, 10893076k free, 186028k buffers
Swap: 3144700k total, 0k used, 3144700k free, 7498236k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND53464 root 20 0 30144 3344 1136 R 15.4 0.0 0:00.15 top
53567 mguedira 20 0 306m 12m 9748 R 12.4 0.0 0:00.08 nautilus
399 amakovsk 20 0 148m 4588 2736 S 4.6 0.0 148:28.10 gvfsd-trash
然后 dstat:
----system---- proc ----total-cpu-usage---- ------memory-usage----- ----swap--- ---load-avg--- --filesystem- --io/total-
date/time |tota|usr sys idl wai hiq siq| used buff cach free| used free| 1m 5m 15m |files inodes| read writ
30-06 11:31:14|2448| 25 12 61 0 0 1|45.2G 182M 7332M 10.4G| 0 3071M|46.2 46.5 46.3| 175k 374k|0.13 18.9
30-06 11:31:15|2449| 66 18 15 0 0 1|45.2G 182M 7332M 10.3G| 0 3071M|46.2 46.5 46.3| 175k 374k| 0 0
30-06 11:31:16|2448| 71 16 10 0 0 3|45.3G 182M 7333M 10.3G| 0 3071M|46.2 46.5 46.3| 175k 374k| 0 0
30-06 11:31:17|2448| 63 18 16 0 0 3|45.3G 182M 7333M 10.3G| 0 3071M|46.2 46.5 46.3| 175k 374k| 0 5.00
30-06 11:31:18|2448| 64 22 10 1 1 4|45.2G 182M 7333M 10.4G| 0 3071M|46.2 46.5 46.3| 175k 374k| 0 0
30-06 11:31:19|2448| 71 17 11 0 0 1|45.2G 182M 7333M 10.3G| 0 3071M|45.7 46.4 46.2| 175k 374k| 0 4.00
30-06 11:31:20|2448| 67 18 12 0 0 3|45.2G 182M 7333M 10.3G| 0 3071M|45.7 46.4 46.2| 175k 374k| 0 0
30-06 11:31:21|2448| 62 20 14 1 0 3|45.2G 182M 7333M 10.4G| 0 3071M|45.7 46.4 46.2| 175k 374k| 0 0
30-06 11:31:22|2448| 62 20 15 1 0 3|45.2G 182M 7334M 10.3G| 0 3071M|45.7 46.4 46.2| 175k 374k| 0 70.0
30-06 11:31:23|2448| 70 17 12 0 0 1|45.2G 182M 7334M 10.3G| 0 3071M|45.7 46.4 46.2| 175k 374k| 0 0
30-06 11:31:24|2448| 72 17 9 0 0 2|45.3G 182M 7334M 10.3G| 0 3071M|46.0 46.5 46.2| 175k 374k| 0 4.00
30-06 11:31:25|2448| 65 20 12 0 0 4|45.3G 182M 7334M 10.3G| 0 3071M|46.0 46.5 46.2| 175k 374k| 0 0
30-06 11:31:26|2448| 73 16 9 0 0 2|45.3G 182M 7334M 10.3G| 0 3071M|46.0 46.5 46.2| 175k 374k| 0 0
30-06 11:31:27|2449| 64 17 16 1 0 2|45.2G 182M 7334M 10.4G| 0 3071M|46.0 46.5 46.2| 175k 374k| 0 7.00
30-06 11:31:28|2448| 74 16 8 0 0 3|45.2G 182M 7334M 10.3G| 0 3071M|46.0 46.5 46.2| 175k 374k| 0 0
30-06 11:31:29|2448| 77 16 4 0 0 3|45.2G 182M 7334M 10.3G| 0 3071M|45.9 46.5 46.2| 175k 374k| 0 21.0
30-06 11:31:30|2448| 72 17 8 1 0 2|45.2G 182M 7335M 10.4G| 0 3071M|45.9 46.5 46.2| 175k 374k| 0 0
30-06 11:31:31|2448| 67 18 13 0 0 2|45.2G 182M 7335M 10.4G| 0 3071M|45.9 46.5 46.2| 175k 374k| 0 0
30-06 11:31:32|2448| 65 18 13 1 0 3|45.2G 182M 7335M 10.4G| 0 3071M|45.9 46.5 46.2| 175k 374k| 0 10.0
我知道有大约 2500 个进程、大约 40 个不同的用户、大约 50 个 Gnome+KDE 会话。在 2 核服务器上。那又怎么样?
我还有很多其他服务器,它们的配置、作业、用户和会话数量都完全相同。但它们的负载都低于 1,最坏情况下也几乎不超过 2 或 3。但这里的负载却超过了 40!!
任何想法 ?