为什么 sar 输出不匹配?

为什么 sar 输出不匹配?

我正在使用 sar 实用程序来收集和保存系统活动信息。保存信息后,我看到/报告了信息,但输出不匹配。有人能帮我理解这种行为吗,或者我是否在理解上犯了一个愚蠢的错误。以下是详细信息。

步骤 1:收集并保存系统活动

sar -o sa_30_dec_2012 1 > /dev/null 2>&1 &

步骤 2:以 1 秒为间隔报告前 10 分钟的读数

sar 1 10 -f sa_30_dec_2012

步骤 3:每隔 2 秒报告前 10 个读数

sar 2 5 -f sa_30_dec_2012

步骤 2 的输出

07:18:34  IST     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:18:35  IST     all      1.51      0.00      1.51      3.02      0.00     93.97
07:18:36  IST     all      1.50      0.00      1.00      0.00      0.00     97.50
07:18:37  IST     all      1.02      0.00      0.51      0.00      0.00     98.48
07:18:38  IST     all      2.55      0.00      0.51      0.00      0.00     96.94
07:18:39  IST     all      3.03      0.00      0.51      0.00      0.00     96.46
07:18:40  IST     all      1.49      0.00      1.49      3.48      0.00     93.53
07:18:41  IST     all      1.52      0.00      0.51      0.00      0.00     97.97
07:18:42  IST     all      1.01      0.00      1.01      0.00      0.00     97.99
07:18:43  IST     all      1.53      0.00      0.00      0.00      0.00     98.47
07:18:44  IST     all      2.53      0.00      1.52      0.00      0.00     95.96
Average:        all      1.77      0.00      0.86      0.66      0.00     96.72

步骤 3 的输出

07:18:34  IST     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:18:36  IST     all      1.50      0.00      1.25      1.50      0.00     95.74
07:18:38  IST     all      1.78      0.00      0.51      0.00      0.00     97.71
07:18:40  IST     all      2.26      0.00      1.00      1.75      0.00     94.99
07:18:42  IST     all      1.26      0.00      0.76      0.00      0.00     97.98
07:18:44  IST     all      2.03      0.00      0.76      0.00      0.00     97.21
Average:        all      1.77      0.00      0.86      0.66      0.00     96.72

如果您观察,时间戳 07:18:36 的读数匹配,但此后的读数不匹配(值不相等)。例如,以下时间戳的值不相等:-

步骤2输出

07:18:38  IST     all      2.55      0.00      0.51      0.00      0.00     96.94
07:18:40  IST     all      1.49      0.00      1.49      3.48      0.00     93.53

步骤3输出

07:18:38  IST     all      1.78      0.00      0.51      0.00      0.00     97.71
07:18:40  IST     all      2.26      0.00      1.00      1.75      0.00     94.99

为什么步骤 2 和步骤 3 的输出不匹配?

这些命令在 Ubuntu 12.04 LTS 上执行。

很感谢任何形式的帮助。

答案1

由于间隔改为 2 秒,因此它会对这两秒的数据取平均值。如果我们从第一个输出中取出两行(两个 1 秒间隔):

07:18:34  IST     CPU     %user     %nice   %system   %iowait    %steal     %idle
...
07:18:37  IST     all      1.02      0.00      0.51      0.00      0.00     98.48
07:18:38  IST     all      2.55      0.00      0.51      0.00      0.00     96.94

%user(第 4 列)平均为 1.78 -> (1.02 + 2.55)/2=1.78。其他所有列也是如此。

07:18:38  IST     all      1.78      0.00      0.51      0.00      0.00     97.71

相关内容