教程

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文件負責收集和生成報告。

sar-crontab-file2
下圖中的是SysStat的Config文件。(sar命令)

sysstat-config-file

案例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

read-data-file-sar2

案例3:使用-r選項生成內存的使用情況報告

-r選項在sar命令中被用以生成內存的使用報告。

[root@localhost ~]# sar -r 2 5

memory-usage-sar-command1-1024x204
kbcommit和%commit列的數據包括了內存和交換區使用量的總和。

案例4:用-B選項生成分頁統計報告

[root@localhost ~]# sar -B 2 5

paging-statistics-sar-command1
報告里,majflts/s主要顯示從硬碟交換區載入物理內存時的異常,如果這個值變高,那麼我們可以說系統目前僅僅使用了內存(RAM)。
%vmeff 表示每秒掃描的頁面數,如果說當它的值是100%時是正常情況,它是30%以下的時候就可以認為虛擬內存存在一些問題。0值表示在那個時候沒有任何一個頁面被掃描。

案例:5 使用-d選項生成塊設備使用情況報告

-d 選項在sar命令中被用以顯示塊設備的狀態報告。在 -d 後面加上 -p  (pretty-print)選項可以增強 dev 列的可讀性,如下圖所示:

[root@localhost ~]# sar -d -p 2 4

block-device-report-sar-command2

案例6:用-n生成網路使用情況報告

-n選項在sar命令中被用來生成網路使用情況的統計報告。下面是語法規則:
# sar -n {keyword} or {ALL}

[root@localhost ~]# sar -n ALL

network-statistics-report-sar-command-1024x584

案例7:用-f讀sar日誌文件

我們前面已經討論了sar的日誌文件是保存在「/var/log/sa/saDD」里的。使用-f選項可以查看日誌文件。

[root@localhost ~]# sar -r -f /var/log/sa/sa26

reading-sar-log-file2-1024x323

 

原文鏈接:http://www.linuxtechi.com/generate-cpu-memory-io-report-sar-command/

譯文鏈接: http://www.linuxstory.org/generate-cpu-m…rt-sar-command/

對這篇文章感覺如何?

太棒了
1
不錯
1
愛死了
1
不太好
1
感覺很糟
1
有個文學夢的程序員。努力學習代碼中!Fighting···

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:教程

    教程

    在 Ubuntu Linux 上安裝 Clang

    無論您使用的是 Ubuntu 22.04、20.04 或其他任何版本,並且想要安裝 Clang(一個開源的 C、C++ 和 Objective-C 編譯器),本文將對您有所幫助。Clang 是 GNU […]