与 -f 选项一起使用时如何从 sar 获得二级输出?

How to get second-level output from sar when used with -f option?

sar man page 表示可以为其输出指定以秒为单位的分辨率。
但是,我无法通过以下命令获得二级分辨率。

sar -i 1 -f /var/log/sa/sa18

11:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:10:01 AM     all      0.04      0.00      0.04      0.00      0.01     99.91
11:20:01 AM     all      0.04      0.00      0.04      0.00      0.00     99.92
11:30:01 AM     all      0.04      0.00      0.04      0.00      0.00     99.92

以下命令也没有给出二级分辨率:

sar  -f /var/log/sa/sa18 1

我只有在不指定-f选项的情况下才能得到二级结果:

sar 1 10
08:34:31 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
08:34:32 PM     all      0.12      0.00      0.00      0.00      0.00     99.88
08:34:33 PM     all      0.00      0.00      0.12      0.00      0.00     99.88
08:34:34 PM     all      0.00      0.00      0.12      0.00      0.00     99.88

但我希望看到系统性能在过去的某一天以秒为单位变化。

如何使用 -f 选项让 sar 打印二级输出

Linux 版本:Linux 2.6.32-642.el6.x86_64
sar 版本:sysstat 版本 9.0.4

我认为存在的 sar 报告文件 'sa18' 以 10 分钟的间隔收集。所以我们没有在几秒钟内得到输出。

请检查 /etc/cron.d/sysstat 文件。

[root@testserver ~]# cat /etc/cron.d/sysstat
 #run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
 #generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

如果想减少sar间隔时间可以修改sysstat文件。

/var/log/sa 目录已经包含所有信息。 sar 命令在这里作为一个解析器,读取 sa 文件中的所有数据。 因此,您可以使用 sar -f /var/log/sa/<sa file> 查看第一级结果,并使用其他标志,如“-r”,查看其他结果。

# sar -f /var/log/sa/sa02

12:00:01    CPU %user   %nice   %system %iowait %steal  %idle
12:10:01    all 14.70   0.00    5.57    0.69    0.01    79.03
12:20:01    all 23.53   0.00    6.08    0.55    0.01    69.83


# sar -r -f /var/log/sa/sa02

12:00:01  kbmemfree   kbavail kbmemused  kbactive   kbinact   kbdirty
12:10:01    2109732   5113616  30142444  25408240     2600
12:20:01    1950480   5008332  30301696  25580696     2260
12:30:01    2278632   5324260  29973544  25214788     4112