2

sar 手册页说可以指定其输出的分辨率(以秒为单位)。
但是,我无法通过以下命令获得二级分辨率。

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

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

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

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

4

2 回答 2

2

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

请检查 /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 文件。

于 2017-06-20T23:27:06.480 回答
0

/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
于 2021-12-02T13:34:32.570 回答