sysstat sar 仅收集 cpu 使用情况

sysstat sar 仅收集 cpu 使用情况

sar我在使用收集实时系统统计信息时遇到问题。当我运行如下所示的 sar 命令时,我得到正确的输出:

$ sar -r 1 -o /tmp/memory_usage
Linux 4.15.0-70-generic ()  29/12/20    _x86_64_    (60 CPU)

18:26:55    kbmemfree   kbavail kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
18:26:56     30855140  78554416  51599624     62.58    321400  48906356   3491612      4.18  25558204  23859156        36
18:26:57     30855124  78554456  51599640     62.58    321400  48906392   3491612      4.18  25558204  23859212        72
18:26:58     30855204  78554536  51599560     62.58    321400  48906424   3491612      4.18  25558204  23859212       104
18:26:59     30855188  78554576  51599576     62.58    321400  48906456   3491612      4.18  25558204  23859268       136
18:27:00     30855204  78554648  51599560     62.58    321400  48906492   3491612      4.18  25558204  23859324       172
18:27:01     30855048  78554492  51599716     62.58    321400  48906524   3491612      4.18  25558228  23859324         0
^C
Average:     30855151  78554521  51599613     62.58    321400  48906441   3491612      4.18  25558208  23859249        87

但是,当我加载输出文件时,它似乎只记录了cpu使用率?

$ sar -f /tmp/memory_usage
Linux 4.15.0-70-generic ()  29/12/20    _x86_64_    (60 CPU)

18:26:55        CPU     %user     %nice   %system   %iowait    %steal     %idle
18:26:56        all      0.00      0.00      0.02      0.00      0.02     99.97
18:26:57        all      0.00      0.00      0.02      0.00      0.02     99.97
18:26:58        all      0.00      0.00      0.02      0.00      0.02     99.97
18:26:59        all      0.00      0.00      0.02      0.00      0.02     99.97
18:27:00        all      0.00      0.00      0.00      0.00      0.00    100.00
18:27:01        all      0.02      0.00      0.02      0.00      0.02     99.95
Average:        all      0.00      0.00      0.01      0.00      0.01     99.97

这是我的系统信息:

$ uname -a
Linux 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:11 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

我正在运行 sar 11.6.1,它是通过 apt 安装的,并且我没有配置任何 cron 数据收集(如果这很重要),尽管我确实启用了 sysstat 服务:

$ systemctl status sysstat
● sysstat.service - Resets System Activity Data Collector
   Loaded: loaded (/lib/systemd/system/sysstat.service; enabled; vendor preset: enabled)
   Active: active (exited) since Tue 2020-12-29 16:56:29 GMT; 1h 34min ago
     Docs: man:sa1(8)
           man:sadc(8)
           man:sar(1)
  Process: 52376 ExecStart=/usr/lib/sysstat/debian-sa1 --boot (code=exited, status=0/SUCCESS)
 Main PID: 52376 (code=exited, status=0/SUCCESS)

Dec 29 16:56:29  systemd[1]: Starting Resets System Activity Data Collector...
Dec 29 16:56:29  systemd[1]: Started Resets System Activity Data Collector.

知道我做错了什么吗?为什么文件中没有记录内存使用情况?我是否配置错误,或者这是不可能实现的sar?任何和所有的帮助将不胜感激。

答案1

我是个白痴,找到了答案。显然,当您告诉sar将系统统计信息收集到文件中时,它会输出一切进入其中,而不仅仅是您传递给它的选项。

那么,命令是什么sar -r 1 -o /tmp/memory_usage真正含义是:“以每秒一个的采样率捕获所有选项,并将它们记录在给定文件中。,以相同的速率将内存统计信息输出到终端”。

由于所有统计数据都记录在输出文件中,因此可以使用与实时数据相同的选项进行查询。正如我所料,该命令sar -r -f /tmp/memory_usage输出从文件收集的内存使用情况。

相关内容