当我使用间隔设置时,为什么 mpstat 显示不同的值?

当我使用间隔设置时,为什么 mpstat 显示不同的值?

这是我运行 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%?我已在多种不同的配置中尝试过此问题,但 CPU 使用率并无太大差异 —— 除非 mpstat 本身造成了差异。

我应该相信哪个号码?

答案1

当您第一次运行 mpstat 时,它会计算自服务器启动到您运行 mpstat 时的空闲时间。

但是当您以间隔方式运行它时,您将获得您指定的定义时间量(此处为 1 秒)内的值。而不是从启动到那一刻的整个时间。

事实上,iostat、vmstat 都以同样的方式工作,正如我所说的,

答案2

是的,总是间歇性地运行并接听电话。这就是他们提供平均选项的原因。查看系统监视器和图表。您将看到它在 10 秒间隔内波动有多大。

我知道这个帖子很旧了,但我仍然想回答。

相关内容