
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
ファイルから収集されたメモリ使用量を出力します。