Linux
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
?任何和所有的幫助將不勝感激。
我是白痴,找到答案了。顯然,當您告訴
sar
將系統統計資訊收集到文件中時,它會將所有內容輸出到文件中,而不僅僅是您傳遞的選項。因此,該命令
sar -r 1 -o /tmp/memory_usage
的真正含義是:“以每秒一個的採樣率擷取所有選項,並將它們記錄在給定的文件中。此外,以相同的速率將記憶體統計資訊輸出到終端”。由於所有統計資訊都記錄在輸出文件中,因此可以使用與實時相同的選項進行查詢。正如我所料,該命令
sar -r -f /tmp/memory_usage
輸出從文件中收集的記憶體使用情況。