在负载很重的数据库服务器上,我得到的 CPU 使用率输出top
和iostat
CPU 使用率输出有很大差异。为什么值会不同?
顶部:
%Cpu(s): 84.7 us, 11.8 sy, 0.3 ni, 2.4 id, 0.6 wa, 0.0 hi, 0.2 si, 0.1 st
iostat
avg-cpu: %user %nice %system %iowait %steal %idle
19.78 0.17 2.51 1.10 0.03 76.42
请注意,iostat
报告的是显著的空闲百分比,但top
事实并非如此。
答案1
这样做的原因是,在单次运行中iostat
报告的统计数据是自系统启动以来的数据。iostat -c 2 2
将自启动以来报告一次,然后 2 秒后报告自上一次以来的第二份报告。
在这种情况下,它与顶部紧密匹配。