vmstat簡介
vmstat是Linux下的系統工具。通過vmstat,我們可以得到進程、內存、分頁、IO、trap和CPU等信息。
vmstat用法:
vmstat [-a] [n] [delay [count]]
vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-D]
vmstat [-p disk partition]
vmstat [-V]
vmstat參數:
-a 顯示活躍內存(active memory)和非活躍內存(inactive memory)。非活躍內存是指映射到進程空間,但是當前進程沒有使用的內存。
-f 顯示系統執行fork/vfork/clone的次數。這個值是系統創建的全部任務的數目。只顯示一次。
-m 顯示slabinfo。
-n 只顯示一次字段頭。
-s 以表格形式顯示。只顯示一次。
delay 兩次輸出之間間隔的秒數。
count 輸出的次數。
-d 顯示硬盤信息。只顯示一次。
-D 顯示硬盤統計信息。只顯示一次。
-p partition 顯示分區信息。
-S k/K/m/M 設置單位爲1000/1024/1000000/1048576 bytes,默認爲K。
-V 顯示版本信息。
VM模式(默認)輸出字段:
procs
r: 等待調度的進程數量(任務隊列長度)。一個經驗數值是CPU核數乘以4作爲r的閾值。超過這個值,說明CPU資源緊張。
b: 處於非中斷睡眠(阻塞)的進程數量。說明進程在等待I/O或者進行內存交換。
memory
swpd: 虛擬內存容量。相對swpd值,si/so兩個值更重要。如果si/so都比較大,說明系統頻繁使用內存交換區。如果si/so都爲0,swpd值即使很大也不會影響系統性能。
free: 空閒內存容量。
buff: 用作緩衝區的內存容量。通常是對塊設備的讀寫緩衝區。
cache: 用作緩存的內存容量。作爲page cached的內存數量。一般是用作文件系統緩存。如果cache很大,而bi很小,說明文件系統效率較高。文件的讀取都是在內存中完成。
inact: 非活躍內存容量。
active: 活躍內存容量。
swap
si: 每秒從硬盤交換到內存的數據容量。
so: 每秒從內存交換到硬盤的數據容量。如果si/so長期大於0,說明系統內存不足。
io
bi: 每秒從設備輸入的塊數量。 在Linux下,塊的容量通常是1024字節。要查看塊的容量,可以使用stat --file-system / 或者tune2fs -l /dev/sda1。
bo: 每秒向設備輸出的塊數量。
system
in: 每秒中斷數,包括時鐘中斷(clock)。
cs: 每秒上下文切換數。
cpu
us: cpu執行非內核代碼的時間,包括nice時間。
sy: cpu執行內核代碼的時間。
id: cpu空閒時間。
wa: cpu等待設備IO操作的時間。
st: 操作系統在虛擬機中運行時,cpu丟失的時間。
硬盤模式(-d)輸出字段:
reads
total: 讀操作完成的總量。系統調用write返回並不意味着硬盤操作成功,參考sync和fsync。
merged: 合併讀操作(一次硬盤I/O完成多次read)完成的總量。
sectors: 讀取的扇區數。
ms: 讀操作消耗的毫秒數。
writes
total: 寫操作完成的總量。
merged: 實際完成的硬盤寫操作數量。
secotrs: 寫入扇區數量。
ms: 寫操作消耗的毫秒數。
IO
cur: 正在進行的I/O。
sec: I/O操作消耗的秒數。
硬盤分區模式的字段
reads: 在分區上提交的全部讀請求的數量。
read sectors: 分區上讀取的扇區數量。
writes: 分區上提交的全部寫請求的數量。
requested writes: 分區上全部寫請求的數量。
vmstat不將自己作爲一個running process統計。執行vmstat不需要額外的權限。
參考:
vmstat手冊
/proc/meminfo
/proc/stat
/proc/*/stat
http://serverfault.com/questions/132088/what-can-cause-an-increase-in-inactive-memory-and-how-to-reclaim-it
http://serverfault.com/questions/29887/how-do-i-determine-the-block-size-of-an-ext3-partition-on-linux
http://serverfault.com/questions/442336/file-with-information-about-filesystem-block-size-in-linux
http://zhengdl126.iteye.com/blog/804567
vmstat用法:
vmstat [-a] [n] [delay [count]]
vmstat [-f] [-s] [-m]
vmstat [-S unit]
vmstat [-d]
vmstat [-D]
vmstat [-p disk partition]
vmstat [-V]
vmstat參數:
-a 顯示活躍內存(active memory)和非活躍內存(inactive memory)。非活躍內存是指映射到進程空間,但是當前進程沒有使用的內存。
-f 顯示系統執行fork/vfork/clone的次數。這個值是系統創建的全部任務的數目。只顯示一次。
-m 顯示slabinfo。
-n 只顯示一次字段頭。
-s 以表格形式顯示。只顯示一次。
delay 兩次輸出之間間隔的秒數。
count 輸出的次數。
-d 顯示硬盤信息。只顯示一次。
-D 顯示硬盤統計信息。只顯示一次。
-p partition 顯示分區信息。
-S k/K/m/M 設置單位爲1000/1024/1000000/1048576 bytes,默認爲K。
-V 顯示版本信息。
VM模式(默認)輸出字段:
procs
r: 等待調度的進程數量(任務隊列長度)。一個經驗數值是CPU核數乘以4作爲r的閾值。超過這個值,說明CPU資源緊張。
b: 處於非中斷睡眠(阻塞)的進程數量。說明進程在等待I/O或者進行內存交換。
memory
swpd: 虛擬內存容量。相對swpd值,si/so兩個值更重要。如果si/so都比較大,說明系統頻繁使用內存交換區。如果si/so都爲0,swpd值即使很大也不會影響系統性能。
free: 空閒內存容量。
buff: 用作緩衝區的內存容量。通常是對塊設備的讀寫緩衝區。
cache: 用作緩存的內存容量。作爲page cached的內存數量。一般是用作文件系統緩存。如果cache很大,而bi很小,說明文件系統效率較高。文件的讀取都是在內存中完成。
inact: 非活躍內存容量。
active: 活躍內存容量。
swap
si: 每秒從硬盤交換到內存的數據容量。
so: 每秒從內存交換到硬盤的數據容量。如果si/so長期大於0,說明系統內存不足。
io
bi: 每秒從設備輸入的塊數量。 在Linux下,塊的容量通常是1024字節。要查看塊的容量,可以使用stat --file-system / 或者tune2fs -l /dev/sda1。
bo: 每秒向設備輸出的塊數量。
system
in: 每秒中斷數,包括時鐘中斷(clock)。
cs: 每秒上下文切換數。
cpu
us: cpu執行非內核代碼的時間,包括nice時間。
sy: cpu執行內核代碼的時間。
id: cpu空閒時間。
wa: cpu等待設備IO操作的時間。
st: 操作系統在虛擬機中運行時,cpu丟失的時間。
硬盤模式(-d)輸出字段:
reads
total: 讀操作完成的總量。系統調用write返回並不意味着硬盤操作成功,參考sync和fsync。
merged: 合併讀操作(一次硬盤I/O完成多次read)完成的總量。
sectors: 讀取的扇區數。
ms: 讀操作消耗的毫秒數。
writes
total: 寫操作完成的總量。
merged: 實際完成的硬盤寫操作數量。
secotrs: 寫入扇區數量。
ms: 寫操作消耗的毫秒數。
IO
cur: 正在進行的I/O。
sec: I/O操作消耗的秒數。
硬盤分區模式的字段
reads: 在分區上提交的全部讀請求的數量。
read sectors: 分區上讀取的扇區數量。
writes: 分區上提交的全部寫請求的數量。
requested writes: 分區上全部寫請求的數量。
vmstat不將自己作爲一個running process統計。執行vmstat不需要額外的權限。
參考:
vmstat手冊
/proc/meminfo
/proc/stat
/proc/*/stat
http://serverfault.com/questions/132088/what-can-cause-an-increase-in-inactive-memory-and-how-to-reclaim-it
http://serverfault.com/questions/29887/how-do-i-determine-the-block-size-of-an-ext3-partition-on-linux
http://serverfault.com/questions/442336/file-with-information-about-filesystem-block-size-in-linux
http://zhengdl126.iteye.com/blog/804567
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.