一.vmstat
1.功能:動態瞭解系統系統資源的運行,可以檢測CPU/內存/磁盤輸入輸出狀態等;
2.使用
1)CPU/內存等信息:vmstat [-a] [延遲 [檢測次數]]
2)內存相關:vmstat [-fs]
3)設置顯示數據的單位:vmstat [-S 單位]
4)與磁盤相關:vmstat [-d]
5)與磁盤相關:vmstat [-p 分區]
3.參數
-a:使用inactive/active替代buffer/cache的內存輸出信息;
-f:開機到現在爲止系統複製(fork)的進程數;
-s:將一些事件導致的內存變化情況列表說明;
-S:後跟單位,讓顯示的數據有單位,可以是M,K等;
-d:列出磁盤的讀寫總量統計表;
-p:後面列出分區,可顯示該分區的讀寫總量統計表;
4.實例及解釋
1)[root@localhost ~]# vmstat 1 3 -S M
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 1 34 685 153 2948 0 0 15 16 0 0 1 2 96 1 0
0 1 34 685 153 2948 0 0 0 10292 422 354 1 0 82 17 0
0 2 34 685 153 2948 0 0 0 6880 412 335 0 0 90 10 0
r:等待運行中的進程數量;b:不可被喚醒的進程數量。這兩個越大,代表系統越忙碌;
內存(memory):
swpd:虛擬內存被使用的總量;
free:未被使用的內存容量;
buff:用於緩衝存儲器;
cache:用於高速緩存;
內存交換空間(swap):
si:由磁盤中將程序取出的量;
so:由於內存不足而將沒用到的程序寫入到磁盤的swap的容量;
如果si/so數值太大,表示內存內的數據經常得在磁盤與內存之間傳輸,會影響系統性能;
磁盤讀寫(io):
bi:由磁盤寫入的塊數量’;
bo:寫入到磁盤去的塊數量;
如果這部分值越高,代表系統I/O非常忙碌;
系統(system):
in:每秒被中斷的進程次數;
cs:每秒進行的事件切換次數;
這兩個值越大代表系統與接口設備的通信非常頻繁;
CPU(cpu):
us:非內核層的CPU使用狀態;
sy:內核層使用的CPU狀態;
id:閒置的狀態;
wa:等待I/O所耗費的CPU狀態;
st:被虛擬機盜用的CPU使用狀態;
2)[root@localhost ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
sda 18741072 391030 3100479140 160147069 560905861 2004054065 3340195992 88690711 0 1023393
disk:磁盤;
讀(reads):
total:成功讀取數;
merged:分組讀取數;
sectors:成功讀取扇區數;
ms:讀取時間(單位,毫秒);
寫(writes):
total:成功寫入數;
merged:分組寫入數;
sectors:成功寫入扇區數;
ms:寫入時間(單位,毫秒);
IO:
cur:I/O in progress;
sec:I/O花費時間;
3)[root@localhost ~]# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
602 5266 18 176
reads:對這個分區的read的總數;
read sectors:該分區讀取扇區總數;
writes:對這個分區的write的總數;
requested writes:對該分區寫請求的總數;