sar命令是系統維護的重要工具,可以幫助我們掌握系統資源的使用情況,今天小編就給大家介紹下Linux系統中的sar命令,一起來了解下吧。更多內容請關注應屆畢業生網!
sar命令常用格式
sar [options] [-A] [-o file] t [n]
其中:
t為取樣間隔,n為取樣次數,預設值是1;
-o file表示將命令結果以二進位制格式存放在檔案中,file 是檔名。
options 為命令列選項,sar命令常用選項如下:
-A:所有報告的總和
-u:輸出CPU使用情況的統計資訊
-v:輸出inode、檔案和其他核心表的統計資訊
-d:輸出每一個塊裝置的活動資訊
-r:輸出記憶體和交換空間的統計資訊
-b:顯示I/O和傳送速率的統計資訊
-a:檔案讀寫情況
-c:輸出程序統計資訊,每秒建立的程序數
-R:輸出記憶體頁面的統計資訊
-y:終端裝置活動情況
-w:輸出系統交換活動資訊
1. CPU資源監控
例如,每10秒取樣一次,連續取樣3次,觀察CPU 的使用情況,並將取樣結果以二進位制形式存入當前目錄下的檔案test中,需鍵入如下命令:
sar -u -o test 10 3
螢幕顯示如下:
17:06:16 CPU %user %nice %system %iowait %steal %idle
17:06:26 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:36 all 0.00 0.00 0.20 0.00 0.00 99.80
17:06:46 all 0.00 0.00 0.10 0.00 0.00 99.90
Average: all 0.00 0.00 0.17 0.00 0.00 99.83
輸出項說明:
CPU:all 表示統計資訊為所有 CPU 的平均值。
%user:顯示在使用者級別(application)執行使用 CPU 總時間的百分比。
%nice:顯示在使用者級別,用於nice操作,所佔用 CPU 總時間的百分比。
%system:在核心級別(kernel)執行所使用 CPU 總時間的百分比。
%iowait:顯示用於等待I/O操作佔用 CPU 總時間的百分比。
%steal:管理程式(hypervisor)為另一個虛擬程序提供服務而等待虛擬 CPU 的百分比。
%idle:顯示 CPU 空閒時間佔用 CPU 總時間的百分比。
1. 若 %iowait 的值過高,表示硬碟存在I/O瓶頸
2. 若 %idle 的值高但系統響應慢時,有可能是 CPU 等待分配記憶體,此時應加大記憶體容量
3. 若 %idle 的值持續低於1,則系統的 CPU 處理能力相對較低,表明系統中最需要解決的資源是 CPU 。
如果要檢視二進位制檔案test中的內容,需鍵入如下sar命令:
sar -u -f test
2. inode、檔案和其他核心表監控
例如,每10秒取樣一次,連續取樣3次,觀察核心表的狀態,需鍵入如下命令:
sar -v 10 3
螢幕顯示如下:
17:10:49 dentunusd file-nr inode-nr pty-nr
17:10:59 6301 5664 12037 4
17:11:09 6301 5664 12037 4
17:11:19 6301 5664 12037 4
Average: 6301 5664 12037 4
輸出項說明:
dentunusd:目錄快取記憶體中未被使用的條目數量
file-nr:檔案控制代碼(file handle)的使用數量
inode-nr:索引節點控制代碼(inode handle)的使用數量
pty-nr:使用的pty數量
3. 記憶體和交換空間監控
例如,每10秒取樣一次,連續取樣3次,監控記憶體分頁:
sar -r 10 3
螢幕顯示如下:
輸出項說明:
kbmemfree:這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間。
kbmemused:這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間。
%memused:這個值是kbmemused和記憶體總量(不包括swap)的一個百分比。
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache.
kbcommit:保證當前系統所需要的記憶體,即為了確保不溢位而需要的記憶體(RAM+swap)。
%commit:這個值是kbcommit與記憶體總量(包括swap)的一個百分比。