诊断高 CPU 等待时间

诊断高 CPU 等待时间

我有一台运行 icinga/collectd/graphite 的监控服务器,上面有大约 50 台主机。我注意到该机器的负载/延迟性能很高。如果您查看 top,您会看到:

CPU:0.6%us,0.2%sy,0.0%ni,7.6%id,23.4%wa,0.0%hi,0.2%si,0.0%st

注意巨大的 %wa 值,据我所知,这意味着网络或磁盘瓶颈。 ifconfig 显示没有丢包,并且没有大量带宽,所以剩下磁盘问题,对吗?也没有很多磁盘写入... iotop 报告我们每秒只写入 1 MB 多一点,而 RAID 工具报告一切正常,写入缓存已启用。

我该如何着手解决此问题?

更新: iostat -x 输出为:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.62    0.10    0.31    9.65    0.00   89.31

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.21    33.34   83.55   16.54  1599.94   399.07    19.97    43.21  416.98   3.71  37.13

答案1

NFS、SMB 和其他远程文件系统也会生成 i/o 等待。

用于vmstat 2查看系统性能的详细视图,包括 io 等待。

答案2

高 wa 通常意味着操作系统正在等待网络或磁盘。有一个相当漂亮的程序叫做iotop。这会告诉您磁盘正在做什么,可能会有所帮助。

相关内容