这是我运行mpstat时得到的输出:
$mpstat Linux 3.2.0-30-generic (my-laptop-C650) 09/17/2012 _x86_64_ (2 CPU) 05:32:01 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 05:32:01 PM all 9.16 0.08 2.69 2.00 0.00 0.04 0.00 0.00 86.02
当我以一秒钟的时间间隔运行时,我得到了以下结果:
$mpstat 1 05:31:51 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle 05:31:52 PM all 1.52 0.00 1.01 0.00 0.00 0.00 0.00 0.00 97.47 05:31:53 PM all 2.04 0.00 1.02 0.00 0.00 0.00 0.00 0.00 96.94 05:31:54 PM all 1.50 0.00 1.50 0.00 0.00 0.00 0.00 0.00 97.00
为什么第一个进程将处理器显示为86%空闲,第二个显示为〜97%空闲? 我已经在一堆不同的configuration中尝试了这一点,这并不是CPU使用的真正区别 – 除非mpstat本身正在发挥作用。
我应该信任哪个号码?
当您第一次运行mpstat时,它会计算从服务器启动到运行mpstat的时间点以来的空闲时间。
但是,如果以间隔运行它,则会在指定的时间内获取该值,这里是1秒。 而不是自启动以来的整个时间,然后到那一刻。
事实上,iostat,vmstat的工作方式与我所说的一样,
是的,总是以间隔运行并接电话。 这就是为什么他们给出了平均选项。 看看系统监视器和图表。你会看到它有多大的波动在10秒的差距。
我知道这个线程很老,我还是想回答。