Introduction
這是一套虛擬記憶體的統計軟體,統計關於行程,記憶體,分頁,block IO, traps, 磁碟和cpu的活動等等。
vmstat總共有四種模式,分別是「VM」, 「Disk」, 「Disk Partition」, 「Slab」。
vmstat [options] [delay [count]]
OPTIONS
可以具體指示delay和count,每幾秒顯示一次,共幾次。(eg. 「vmstat 2 5」,每兩秒顯視一次,共顯示五次),如果沒有指定,則只會顯是一次總平均值。
-a, --active
顯示active和inactive記憶體資訊(kernel版本必須2.5.41以上)。
-f, --forks
這個選項會顯示自開機以來所有「folk」的數量,包含了「fork」,「vfork」,「clone」等等系統呼叫,總和會剛好等於tasks所建立的數量。每個行程(process)都代表了一個或多個的任務(tasks),取決於執行緒(thread)怎麼寫。
-m, --slabs
顯示所有Slab Allocator 的資訊,必須要有root權限。
-n, --one-header
只顯示一次header的資訊,跟沒有參數的用法顯示的資訊一樣。
-s, --stats
顯示各種event的統計數和記憶體統計的資料。
-d, --disk
輸出磁碟使用統計(必須kernel 2.5.70或以上)
-D, --disk-sum
顯示所有磁碟活動的統計資料。
-p, --partition device
顯示關於partition的所有統計資料(kernel必須要2.5.70以上)
-S, --unit character
指定輸出的資料格式, 1000 (k), 1024 (K), 1000000 (m), 或是 1048576 (M) bytes. 注意這邊並不會去更改到swap (si/so) 或是block (bi/bo)的資訊。(eg. 「vmstat -S M」)
-w, --wide
輸出的寬度會更大,就是在記憶體比較大的系統欄寬比較夠用。
-V, --version
顯示版本資訊。
-h, --help
顯示help資訊
欄位說明 (VM 模式)
vmstat
Procs
r: 可執行的行程,也就是正在執行中或是等待執行中的行程數量。
b: 不可中斷 sleep狀態中的行程數量。
Memory
swpd: 虛擬記憶體使用的總量
free: 所有閒置的記憶體總量。
buff: 所有當成buffer的記憶體總量。
cache: 所有當成cache的記憶體總量。
inact: inactive狀態的記憶體總量 (-a option)。[inactive的意思是 - 這個記憶體區段已經被分配給某個行程,但是這個行程已經沒在執行了,有可能已經是zombie了 ]
active: inactive狀態的記憶體總量 (-a option)。[inactive的意思是 - 被特定行程使用的記憶體]
Swap
si: 從硬碟中swap出來的記憶體總量(每秒)。
so: swap進硬碟的記憶體總量 (每秒)。
IO
bi: 從block裝置接收到的block數量(block/秒)。
bo: 傳送到block裝置的block數量 (block/秒)。
System
in: 每秒中斷的數量。
cs: 每秒context switch的數量。
CPU
所有CPU時間的百分比
us: 跑非Kermel code的時間(包含user time和nice time)。
sy: 跑Kernel code的時間(system time)。
id: 閒置的時間(2.5.41之前也包含IO等待的時間)。
wa: 等待IO的時間(2.5.41之前也包含閒置的時間)。
st: 從虛擬機偷來的時間()。Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown.
何謂 從虛擬機偷來的時間( Time stolen from a virtual machine ):
hypervisor 所規劃用來跑VM外面的資源的時間,有可能是其他的VM或者是Hypervisor自己的資源。
ref:
欄位說明(Disk 模式)
vmstat -D
Reads
total: 全部成功讀取完成的總數。
merged: 一次IO讀取一整群資料的次數
sectors: 磁區讀取成功的總數
ms: 花在讀取所耗費的時間(毫秒)。
Writes
total: 全部成功寫入完成的總數。
merged: 一次IO寫入一整群資料的次數
sectors: 磁區寫入成功的總數。
ms: 花在寫入所耗費的時間(毫秒)。
IO
cur: 正在處理的I/O
s: 花費在所有IO的時間(秒)。
欄位說明(Disk Partition模式)
vmstat -p /dev/sda1
reads: 對這個partition所讀取的次數。
read sectors: 對這個partition的所有讀取次數
writes : 對這個partition所寫入的次數。
requested writes: 對這個partition的所有寫入請求的次數
欄位說明(Slab 模式)
sudo vmstat -m
cache: Cache 的名字
num: 目前active狀態物件的總數。
total: 所有可取得的物件
size: 每個物件的Size
pages:至少有一個active狀態物件的分頁數量。
相關檔案
/proc/meminfo
/proc/stat
/proc/*/stat
No comments:
Post a Comment