使用vmstat命令監(jiān)控虛擬內(nèi)存統(tǒng)計(jì)信息
為了更好地監(jiān)控操作系統(tǒng)的進(jìn)程、虛擬內(nèi)存和CPU活動(dòng),我們需要工具來(lái)實(shí)現(xiàn)這一目標(biāo)。虛擬內(nèi)存統(tǒng)計(jì)(Virtual Meomory Statistics)提供了一種可以監(jiān)控系統(tǒng)整體情況的方法。其中,vmst
為了更好地監(jiān)控操作系統(tǒng)的進(jìn)程、虛擬內(nèi)存和CPU活動(dòng),我們需要工具來(lái)實(shí)現(xiàn)這一目標(biāo)。虛擬內(nèi)存統(tǒng)計(jì)(Virtual Meomory Statistics)提供了一種可以監(jiān)控系統(tǒng)整體情況的方法。其中,vmstat命令是一種常用的廉價(jià)的系統(tǒng)性能觀察方式。
1. 含義
vmstat命令是用于獲得有關(guān)虛存、進(jìn)程、頁(yè)面交換空間及CPU活動(dòng)的信息。這些信息反映了系統(tǒng)的負(fù)載情況。通過(guò)使用vmstat命令,我們可以更好地理解操作系統(tǒng)的運(yùn)行狀態(tài)。
2. 命令格式
vmstat命令的格式非常靈活,可以根據(jù)需要進(jìn)行調(diào)整。例如:
vmstat [ -a ] [ -n ] [ -S unit ] [ delay [ count ] ]
vmstat [ -s ] [ -n ] [ -S unit ]
vmstat [ -m ] [ -n ] [ delay [ count ] ]
vmstat [ -d ] [ -n ] [ delay [ count ] ]
vmstat [ -p disk partition ] [ -n ] [ delay [ count ] ]
vmstat [ -f ]
vmstat [ -V ]
3. 選項(xiàng)說(shuō)明
在使用vmstat命令時(shí),可以根據(jù)需要添加各種選項(xiàng)。下面是幾個(gè)常用選項(xiàng)的說(shuō)明:
-a:表示顯示活躍和非活躍內(nèi)存。
-f:表示顯示從系統(tǒng)啟動(dòng)至今的fork數(shù)量。
-m:表示顯示slabinfo。
-n:表示只在開(kāi)始時(shí)顯示一次各字段名稱。
-s:表示顯示內(nèi)存相關(guān)統(tǒng)計(jì)信息及多種系統(tǒng)活動(dòng)數(shù)量。
delay:表示刷新時(shí)間間隔。如果不指定的話就只顯示一條結(jié)果。
4. 輸入與輸出
輸入vmstat命令后,會(huì)得到以下字段的輸出:
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy id wa st
其中,每個(gè)字段的含義如下:
procsr:當(dāng)前運(yùn)行隊(duì)列中線程的數(shù)目,代表線程是可運(yùn)行的狀態(tài),但CPU還不能執(zhí)行。
b:處于不可中斷睡眠狀態(tài)的進(jìn)程數(shù)。
swpd:已使用虛擬內(nèi)存的大小。
free:空閑物理內(nèi)存的大小。
buff:用作緩存的物理內(nèi)存的大小。
cache:用作頁(yè)緩存的物理內(nèi)存的大小。
si:從磁盤(pán)讀入虛擬內(nèi)存的大小。
so:寫(xiě)入磁盤(pán)的虛擬內(nèi)存的大小。
bi:傳入塊設(shè)備的塊數(shù)。
bo:傳出塊設(shè)備的塊數(shù)。
in:每秒中斷的數(shù)量,包括時(shí)鐘中斷。
cs:每秒上下文切換的數(shù)量。
us:用戶CPU時(shí)間。
sy:系統(tǒng)CPU時(shí)間。
id:空閑CPU時(shí)間。
wa:等待IO的CPU時(shí)間。
st:被偷走的CPU時(shí)間。
5. 虛擬內(nèi)存原理
在操作系統(tǒng)中,每個(gè)進(jìn)程都需要使用內(nèi)存,但并不是每個(gè)進(jìn)程都需要一直使用系統(tǒng)分配的內(nèi)存空間。當(dāng)系統(tǒng)運(yùn)行所需內(nèi)存超過(guò)實(shí)際的物理內(nèi)存時(shí),內(nèi)核會(huì)釋放某些進(jìn)程所占用但未使用的部分或者所有的物理內(nèi)存,并將其存儲(chǔ)在磁盤(pán)上。這部分?jǐn)?shù)據(jù)將會(huì)存儲(chǔ)在磁盤(pán)上直到進(jìn)程下一次調(diào)用為止,并將釋放出的內(nèi)存提供給有需要的進(jìn)程。
總之,vmstat命令詳解為我們提供了一個(gè)重要的工具,可以幫助我們更好地監(jiān)控虛擬內(nèi)存統(tǒng)計(jì)信息,理解系統(tǒng)的運(yùn)行狀態(tài)。