Linux命令 vmstat使用說明

2021-09-05 12:16:56 字數 2538 閱讀 6156

vmstat(virtual memory statistics 虛擬記憶體統計) 命令用來顯示linux系統虛擬記憶體狀態,也可以報告關於程序、記憶體、i/o等系統整體執行狀態。

vmstat [-a] [-n] [-t] [-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:只在開始時顯示一次各欄位名稱。

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

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

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

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

-v:顯示vmstat版本資訊。

1.每隔1秒重新整理一次,重新整理5次

輸出內容表示系統虛擬記憶體和cpu的平均情況。

各項意義如下:

procs: 使用記憶體io的程序統計

r : 獲取了io資源而等待cpu執行的程序數目

b : 因為等待io資源而阻塞休眠的程序數目

memory: 虛擬記憶體相關統計

swpd : 用掉的虛擬記憶體大小。也就是交換分區內用掉的大小

free: 空閒的記憶體大小。

buff : 被用於系統buffer的大小。

比如write系統呼叫的時候,系統不會立馬寫磁碟,而是先緩衝到buffer中然後在合適的時候寫入磁碟。

cache : 被用於系統cache的大小

free的大小表示一定可以使用的大小,即malloc不會出錯的大小。但是超過free時malloc會一定出錯麼?也不一定。因為系統的buff和cache在必要 的時候也會優先給malloc使用。只有在不可使用時才會出錯,如被設定為共享記憶體。因此觀察時要綜合這四個位置一起作判斷。當分配記憶體時首先使用free,free不夠的時候從buff和cache中勻得,當還不夠時選擇從swap分割槽中取得。

swap: 交換分割槽的使用情況

si : 每秒從硬碟中交換到記憶體中的大小。

so :每秒從記憶體中交換到硬碟中的大小。

io: 塊裝置io統計

bi : 每秒從塊裝置讀入記憶體的大小

bo : 每秒從記憶體中寫入快裝置的大小

什麼是塊裝置?linux下的裝置主要分成字元裝置和塊裝置(可以參考ldd《linux device driver》),類似於socket屬於流裝置,而磁碟一般屬於塊裝置。因此這個引數可以用來衡量寫磁碟的效能。

system: 作業系統中斷和上下文切換統計

in : 操作的系統每秒觸發的中斷數目

cs : 作業系統每秒上下文切換次數,這裡上下文切換可以認為是系統態到使用者態或者反過來的切換

us : 使用者態**執行占用的cpu時間。

sy :系統態**執行占用的cpu時間。

id : cpu空閒時間,也就是執行系統idle的時間,cpu是不可能停機的。

wa : 耗費在等待io上的時間

st : 其他的等待時間。

2.顯示活躍和非活躍記憶體

3.顯示記憶體的詳細資訊

4.檢視磁碟的讀/寫

5.檢視指定磁碟的讀寫

linux命令 vmstat命令

vmstat是virtual meomory statistics 虛擬記憶體統計 的縮寫,可對作業系統的虛擬記憶體 程序 cpu活動進行監控。他是對系統的整體情況進行統計,不足之處是無法對某個程序進行深入分析。物理記憶體和虛擬記憶體區別 我們知道,直接從物理記憶體讀寫資料要比從硬碟讀寫資料要快的多...

linux監控命令 vmstat

vmstat virtual memory statistics 虛擬記憶體統計 命令用來顯示linux系統虛擬記憶體狀態,也可以報告關於程序 記憶體 i o等系統整體執行狀態。vmstat a n t s unit delay count vmstat s n s unit vmstat m n ...

Linux系列 命令 vmstat 使用方法

r 表示執行佇列 就是說多少個進 的分配到cpu 我測試的伺服器目前cpu比較空閒,沒什麼程式在跑,當這個值超過了cpu數目,就會出現cpu瓶頸了。這個也和top的負載有關係,一般負載超過了3就比較高,超過了5就高,超過了10就不正常了,伺服器的狀態很危險。top的負載類似每秒的執行佇列。如果執行佇...