016-Vmstat命令

 015中說的是w命令,它查看的是當前服務器有沒有壓力,那如何知道細節呢(CPU,內存,磁盤)?緩存

[root@Carlton scripts]# grep -c 'processor' /proc/cpuinfo 
1
[root@Carlton scripts]# vmstat 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 112320  24076 219532    0    0   125    10  109   38  1  0 98  2  0

 

上面講的 w 查看的是系統總體上的負載,經過看那個數值能夠知道當前系統有沒有壓力,可是具體是哪裏(CPU, 內存,磁盤等)有壓力就沒法判斷了。經過 vmstat 就能夠知道具體是哪裏有壓力。vmstat命令打印的結果共分爲6部分:procs, memory, swap, io, system, cpu. 請重點關注一下r b si so bi bo幾列。服務器

1)procs 顯示進程相關信息性能

r :表示運行和等待cpu時間片的進程數,若是長期大於服務器cpu的個數,則說明cpu不夠用了;ui

b :表示等待資源的進程數,好比等待I/O, 內存等,這列的值若是長時間大於1,則須要關注一下了;code

2)memory 內存相關信息對象

swpd :表示切換到交換分區中的內存數量 ;進程

free :當前空閒的內存數量;ip

buff :緩衝大小,(即將寫入磁盤的);內存

cache :緩存大小,(從磁盤中讀取的);資源

3)swap 內存交換狀況

si :由交換區寫入到內存的數據量;

so :由內存寫入到交換區的數據量;

4)io 磁盤使用狀況

bi :從塊設備讀取數據的量(讀磁盤);

bo: 從塊設備寫入數據的量(寫磁盤);

5)system 顯示採集間隔內發生的中斷次數

in :表示在某一時間間隔中觀測到的每秒設備中斷數;

cs :表示每秒產生的上下文切換次數;

6)CPU 顯示cpu的使用狀態

us :顯示了用戶下所花費 cpu 時間的百分比;

sy :顯示系統花費cpu時間百分比;

id :表示cpu處於空閒狀態的時間百分比;

wa :表示I/O等待所佔用cpu時間百分比;

st :表示被偷走的cpu所佔百分比(通常都爲0,不用關注);

以上所介紹的各個參數中,關注r列,b列,和wa列,三列表明的含義在上邊說得已經很清楚。IO部分的bi以及bo也是要常常參考的對象。若是磁盤io壓力很大時,這兩列的數值會比較高。另外當si, so兩列的數值比較高,而且在不斷變化時,說明內存不夠了,內存中的數據頻繁交換到交換分區中,這每每對系統性能影響極大。

相關文章
相關標籤/搜索