linux 資源監控sar命令詳解

linux 資源監控sar命令詳解

詳解

默認監控: sar 1 1     //  CPU和IOWAIT統計狀態 
(1) sar -b 1 1        // IO傳送速率
(2) sar -B 1 1        // 頁交換速率
(3) sar -c 1 1        // 進程創建的速率
(4) sar -d 1 1        // 塊設備的活躍信息
(5) sar -n DEV 1 1    // 網路設備的狀態信息
(6) sar -n SOCK 1 1   // SOCK的使用情況
(7) sar -n ALL 1 1    // 所有的網絡狀態信息
(8) sar -P ALL 1 1    // 每顆CPU的使用狀態信息和IOWAIT統計狀態 
(9) sar -q 1 1        // 隊列的長度(等待運行的進程數)和負載的狀態
(10) sar -r 1 1      // 內存和swap空間使用情況
(11) sar -R 1 1       // 內存的統計信息(內存頁的分配和釋放、系統每秒作爲BUFFER使用內存頁、每秒被cache到的內存頁)
(12) sar -u 1 1       // CPU的使用情況和IOWAIT信息(同默認監控)
(13) sar -v 1 1       // inode, file and other kernel tablesd的狀態信息
(14) sar -w 1 1       // 每秒上下文交換的數目
(15) sar -W 1 1       // SWAP交換的統計信息(監控狀態同iostat 的si so)
(16) sar -x 2906 1 1  // 顯示指定進程(2906)的統計信息,信息包括:進程造成的錯誤、用戶級和系統級用戶CPU的佔用情況、運行在哪顆CPU上
(17) sar -y 1 1       // TTY設備的活動狀態
(18) 將結果輸出到文件(-o)和讀取記錄信息(-f)
(19) sar -h           // 查看幫助 
  •    將命令結果追加到文件並從文件讀取內容

#sar -u -o /tmp/1.txt 2 3 #保存之文件,保存後的文件是二進制的,無法使用vim和cat直接打開

# sar -u -f /tmp/1.txt #從二進制文件讀取

  •  CPU監控

 注意: -u參數可以省略

sar -u 1 10 或 sar 1 10  (1:每隔一秒刷新一次,10:刷新10次)

 

sar -p      或 sar -u -p (查看全天)

 

輸出項

詳細說明

CPU

all 表示統計信息爲所有 CPU 的平均值

%user 顯示在用戶級別(application)運行使用 CPU 總時間的百分比
%nice 改變過優先級的進程的CPU使用率
%system 內核空間的CPU使用率,在覈心級別(kernel)運行所使用 CPU 總時間的百分比
%iowait 顯示用於等待I/O操作佔用 CPU 總時間的百分比
%steal 管理程序(hypervisor)爲另一個虛擬進程提供服務而等待虛擬 CPU 的百分比
%idle 顯示 CPU 空閒時間佔用 CPU 總時間的百分比

在以上的顯示當中,主要看%iowait和%idle,%iowait過高表示存在I/O瓶頸,即磁盤IO無法滿足業務需求,如果%idle過低表示CPU使用率比較嚴重,需要結合內存使用等情況判斷CPU是否瓶頸。  
 

  • 進程隊列長度和CPU平均負載狀態監控

sar -q 1 10  (1:每隔一秒刷新一次,10:刷新10次)

輸出項

詳細說明

runq-sz

運行隊列的長度(等待運行的進程數)
plist-sz 進程列表中進程(processes)和線程(threads)的數量
ldavg-1             最後1分鐘的CPU平均負載,即將多核CPU過去一分鐘的負載相加再除以核心數得出的平均值,5分鐘和15分鐘以此類推
ldavg-5 最後5分鐘的CPU平均負載
ldavg-15 最後15分鐘的CPU平均負載
blocked  
  • 內存監控

sar -r 1 10 (1:每隔一秒刷新一次,10:刷新10次)

 

 

sar -r (查看全天)

 

輸出項

詳細說明

kbmemfree

這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間。

kbmemused

這個值和free命令中的used值基本一致,所以它包括buffer和cache的空間。

%memused

這個值是kbmemused和內存總量(不包括swap)的一個百分比。

kbbuffers和kbcached

這兩個值就是free命令中的buffer和cache。

kbcommit

保證當前系統所需要的內存,即爲了確保不溢出而需要的內存(RAM+swap)。

%commit

這個值是kbcommit與內存總量(包括swap)的一個百分比。 (可以看做內存使用量的百分比)

  • I/O和傳送速率監控

     

sar -b 1 10 (1:每隔一秒刷新一次,10:刷新10次)

輸出項

詳細說明

tps 每秒鐘物理設備的 I/O 傳輸總量
rtps 每秒鐘從物理設備讀入的數據總量

%util

表示一秒中有百分之幾的時間用於I/O操作。 

wtps

每秒鐘向物理設備寫入的數據總量

bread/s

每秒鐘從物理設備讀入的數據量,單位爲 塊/s

bwrtn/s

每秒鐘向物理設備寫入的數據量,單位爲 塊/s
  • 磁盤使用情況監控

sar -d 1 10 (1:每隔一秒刷新一次,10:刷新10次)

sar -d 1 10 -p(1:每隔一秒刷新一次,10:刷新10次)

參數-p可以打印出sda,hdc等磁盤設備名稱,如果不用參數-p,設備節點則有可能是dev8-0,dev22-0 

 

輸出項

詳細說明

tps

每秒從物理磁盤I/O的次數.多個邏輯請求會被合併爲一個I/O磁盤請求,一次傳輸的大小是不確定的.

rd_sec/s

每秒讀扇區的次數.

wr_sec/s

每秒寫扇區的次數.

avgrq-sz

平均每次設備I/O操作的數據大小(扇區).

avgqu-sz

磁盤請求隊列的平均長度.

 await

從請求磁盤操作到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒(1秒=1000毫秒).

 svctm

系統處理每次請求的平均時間,不包括在請求隊列中消耗的時間.

 %util

I/O請求佔CPU的百分比,比率越大,說明越飽和.

1. avgqu-sz 的值較低時,設備的利用率較高。

2. %util I/O請求佔用的CPU百分比,值越高,說明I/O越慢。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章