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

私はaptを介してインストールされたsar 11.6.1を実行しており、sysstatサービスを有効にしましたが、cronデータ収集を構成していません(重要な場合)。

$ 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意味は次のとおりです。 「毎秒1つのサンプルレートですべてのオプションをキャプチャし、指定されたファイルに書き込みます。返品、同じ速度でメモリ統計を端末に出力します。

すべての統計は出力ファイルに書き込まれるため、リアルタイムデータと同じオプションを使用して照会できます。予想通り、このコマンドはsar -r -f /tmp/memory_usageファイルから収集されたメモリ使用量を出力します。

おすすめ記事