所有 CPU 都很忙,平均负载很高,但任务 CPU 使用率不加起来

所有 CPU 都很忙,平均负载很高,但任务 CPU 使用率不加起来

查看下面的输出,有人能告诉我是什么导致了高负载吗?

CentOs 6 Linux 2.6.32-642.4.2.el6.x86_64(4 CPU)

我怀疑这个sar数字很高,但我没有这方面的经验。

[root@a1 ~]# sar -b 1 3
01:08:22 PM       tps      rtps      wtps   bread/s   bwrtn/s
01:08:23 PM    225.74      7.92    217.82    269.31  13362.38
01:08:24 PM    116.67     74.51     42.16   4062.75    188.24
01:08:25 PM    161.22     64.29     96.94   3240.82    840.82
Average:       167.77     48.84    118.94   2522.26   4821.26

[root@a1 ~]# sar -w 1 3
01:09:46 PM    proc/s   cswch/s
01:09:47 PM     13.13   6662.63
01:09:48 PM     17.82   3891.09
01:09:49 PM     20.20   5031.31
Average:        17.06   5186.29

顶部输出(显示高负载平均值) 顶部输出

htop(视频,显示所有繁忙的 CPU)
https://www.lot-art.com/htop.mp4

top(视频,显示每个 CPU 核心正在做什么)
https://www.lot-art.com/top.mp4

ps auxf输出
https://www.lot-art.com/ps_auxf.txt

pidstat -w输出
https://www.lot-art.com/pidstat_w.txt

答案1

您的高使用率来自 mysql。您有一些查询消耗了太多资源,php-cgi 正在等待数据库查询完成,httpd 正在等待 php-cgi 返回。如果您确定哪些查询导致了这种消耗,则可以优化这些查询。

而且您的负载不是那么高。您有 4 个处理器,任何接近 4 的负载都不算高。最大负载 5.4 是可以接受的。

相关内容