linux監控工具vmstat使用

2021-09-01 08:54:38 字數 2029 閱讀 1218

vmstat是乙個檢視虛擬記憶體(virtual memory)使用狀況的工具,使用vmstat命令可以得到關於程序、記憶體、記憶體分頁、堵塞io、traps及cpu活動的資訊。本文介紹了虛擬記憶體的執行原理,繼而介紹了vmstat的用法和使用範例。

一、虛擬記憶體執行原理

在系統中執行的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統分配的記憶體空間。當系統執行所需記憶體超過實際的物理記憶體,核心會釋放某些程序所占用但未使用的部分或所有物理記憶體,將這部分資料儲存在磁碟上直到程序下一次呼叫,並將釋放出的記憶體提供給有需要的程序使用。

分頁(page)寫入磁碟的過程被稱作page-out,分頁(page)從磁碟重新回到記憶體的過程被稱作page-in。當核心需要乙個分頁時,但發現此分頁不在物理記憶體中(因為已經被page-out了),此時就發生了分頁錯誤(page fault)。

當系統核心發現可執行記憶體變少時,就會通過page-out來釋放一部分物理記憶體。經管page-out不是經常發生,但是如果page-out頻繁不斷的發生,直到當核心管理分頁的時間超過執行程式的時間時,系統效能會急劇下降。這時的系統已經執行非常慢或進入暫停狀態,這種狀態亦被稱作thrashing(顛簸)。

二、使用vmstat

1.用法

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]

-a:顯示活躍和非活躍記憶體

-f:顯示從系統啟動至今的fork數量 。引申閱讀:

-m:顯示slabinfo

-n:只在開始時顯示一次各欄位名稱。

-s:顯示記憶體相關統計資訊及多種系統活動數量。

delay:重新整理時間間隔。如果不指定,只顯示一條結果。

count:重新整理次數。如果不指定重新整理次數,但指定了重新整理時間間隔,這時重新整理次數為無窮。

-d:顯示磁碟相關統計資訊。

-p:顯示指定磁碟分割槽統計資訊

-s:使用指定單位顯示。引數有 k 、k 、m 、m ,分別代表1000、1024、1000000、1048576位元組(byte)。預設單位為k(1024 bytes)

-v:顯示vmstat版本資訊。

2.使用說明

例子1:每2秒輸出一條結果

字段說明:

procs(程序):

r: 執行佇列中程序數量

b: 等待io的程序數量

memory(記憶體):

swpd: 使用虛擬記憶體大小

free: 可用記憶體大小

buff: 用作緩衝的記憶體大小

cache: 用作快取的記憶體大小

swap:

si: 每秒從交換區寫到記憶體的大小

so: 每秒寫入交換區的記憶體大小

io:(現在的linux版本塊的大小為1024bytes)

bi: 每秒讀取的塊數

bo: 每秒寫入的塊數

系統:in: 每秒中斷數,包括時鐘中斷。

cs: 每秒上下文切換數。

cpu(以百分比表示):

us: 使用者程序執行時間(user time)

sy: 系統程序執行時間(system time)

id: 空閒時間(包括io等待時間)

wa: 等待io時間

例子2:顯示活躍和非活躍記憶體

使用-a選項顯示活躍和非活躍記憶體時,所顯示的內容除增加inact和active外,其他顯示內容與例子1相同。

字段說明:

memory(記憶體):

inact: 非活躍記憶體大小(當使用-a選項時顯示)

active: 活躍的記憶體大小(當使用-a選項時顯示)

Linux監控工具vmstat命令詳解

一 前言 二 虛擬記憶體原理 在系統中執行的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統分配的記憶體空間。當系統執行所需記憶體超過實際的物理記憶體,核心會釋放某些程序所占用但未使用的部分或所有物理記憶體,將這部分資料儲存在磁碟上直到程序下一次呼叫,並將釋放出的記憶體提供給有需要的...

vmstat監控工具 借鑑

一 前言 二 虛擬記憶體原理 在系統中執行的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統分配的記憶體空間。當系統執行所需記憶體超過實際的物理記憶體,核心會釋放某些程序所占用但未使用的部分或所有物理記憶體,將這部分資料儲存在磁碟上直到程序下一次呼叫,並將釋放出的記憶體提供給有需要的...

Linux系統監控工具之vmstat詳解

vmstat是乙個十分有用的linux系統監控工具,使用vmstat命令可以得到關於程序 記憶體 記憶體分頁 堵塞io traps及cpu活動的資訊。一 前言 二 虛擬記憶體執行原理 在系統中執行的每個程序都需要使用到記憶體,但不是每個程序都需要每時每刻使用系統分配的記憶體空間。當系統執行所需記憶體...