7 個實例教你使用 sar 命令生成CPU、內存和輸入輸出埠的報告
SAR是系統活動報告(System Activity Report)英文單詞的首字母縮寫。正如它的名字所表示的那樣,SAR是一個在Unix和Linux操作系統中用來收集、報告和保存CPU、內存、輸入輸出埠使用情況的命令。SAR命令可以動態產生報告,也可以把報告保存在日誌文件中。
在本文中,我們將討論在CentOS 7和RHEL 7系統中使用SAR的不同案例。如果你沒有安裝該軟體包,可以使用下面一條命令來安裝它。
[root@localhost ~]# yum install sysstat
啟動sadc(system activity data collector)服務(sysstat),這樣報告就會被寫入到日誌文件「/var/log/sa/saDD」中並且已經存在的文檔將會被歸檔。DD表示當前日期。
[root@localhost ~]# systemctl start sysstat [root@localhost ~]# systemctl enable sysstat
它每隔10分鐘收集一次數據並且每天形成一份報告。下圖中的crontab文件負責收集和生成報告。
下圖中的是SysStat的Config文件。(sar命令)
案例1:每兩秒鐘動態生成5次CPU的使用情況
[root@localhost ~]# sar 2 5
Linux 3.10.0-123.el7.x86_64 (localhost.localdomain) Monday 26 October 2015 _x86_64_ (2 CPU)
01:43:55 EDT CPU %user %nice %system %iowait %steal %idle
01:43:57 EDT all 0.00 0.00 0.25 0.00 0.00 99.75
01:43:59 EDT all 0.00 0.00 0.00 0.00 0.00 100.00
01:44:01 EDT all 0.00 0.00 0.25 0.00 0.00 99.75
01:44:03 EDT all 0.00 0.00 0.25 0.25 0.00 99.50
01:44:05 EDT all 0.00 0.00 0.00 0.00 0.00 100.00
Average: all 0.00 0.00 0.15 0.05 0.00 99.80
[root@localhost ~]#
如果 %I/Owait 這一項是一個超過0的長時間值,那麼我們就要考慮是否在輸入輸出系統方面存在瓶頸(比如硬碟或者網路)。
案例2:使用-o選項保存sar命令的輸出結果:
[root@localhost ~]# sar 2 5 -o /tmp/data > /dev/null 2>&1 [root@localhost ~]#
使用「sar -f 」輸出結果:
[root@localhost ~]# sar -f /tmp/data
案例3:使用-r選項生成內存的使用情況報告
-r選項在sar命令中被用以生成內存的使用報告。
[root@localhost ~]# sar -r 2 5
kbcommit和%commit列的數據包括了內存和交換區使用量的總和。
案例4:用-B選項生成分頁統計報告
[root@localhost ~]# sar -B 2 5
報告里,majflts/s主要顯示從硬碟交換區載入物理內存時的異常,如果這個值變高,那麼我們可以說系統目前僅僅使用了內存(RAM)。
%vmeff 表示每秒掃描的頁面數,如果說當它的值是100%時是正常情況,它是30%以下的時候就可以認為虛擬內存存在一些問題。0值表示在那個時候沒有任何一個頁面被掃描。
案例:5 使用-d選項生成塊設備使用情況報告
-d 選項在sar命令中被用以顯示塊設備的狀態報告。在 -d 後面加上 -p (pretty-print)選項可以增強 dev 列的可讀性,如下圖所示:
[root@localhost ~]# sar -d -p 2 4
案例6:用-n生成網路使用情況報告
-n選項在sar命令中被用來生成網路使用情況的統計報告。下面是語法規則:
# sar -n {keyword} or {ALL}
[root@localhost ~]# sar -n ALL
案例7:用-f讀sar日誌文件
我們前面已經討論了sar的日誌文件是保存在「/var/log/sa/saDD」里的。使用-f選項可以查看日誌文件。
[root@localhost ~]# sar -r -f /var/log/sa/sa26
原文鏈接:http://www.linuxtechi.com/generate-cpu-memory-io-report-sar-command/
譯文鏈接: http://www.linuxstory.org/generate-cpu-m…rt-sar-command/