Linux sar命令有什么用
Linux sar命令有什么用
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. 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數量
2. 內存和交換空間監控
例如,每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)的一個百分比。
3. 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