關於vmstat命令的使用詳解1 0

2021-10-09 11:56:05 字數 4150 閱讀 2748

vmstat命令:用來檢視並獲取程序,虛擬記憶體,頁面交換空間以及cpu活動狀況的資訊,綜合這些資訊可以分析系統當前的負載情況。

1、用法

vmstat - report virtual memory statistics

-a, --active

display active and inactive memory, given a 2.5.41 kernel or better.

顯示活躍和非活躍記憶體

-f, --forks

the -f switch displays the number of forks since boot. this includes the fork,

vfork, and clone system calls, and is equivalent to the total number of tasks

created. each process is represented by one or more tasks, depending on thread

usage. this display does not repeat.

顯示從系統啟動至今的fork數量

-m, --slabs

displays slabinfo.

顯示slabinfo

-n, --one-header

display the header only once rather than periodically.

只在開始時顯示一次各欄位名稱

-s, --stats

displays a table of various event counters and memory statistics. this display

does not repeat.

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

-d, --disk

report disk statistics (2.5.70 or above required).

顯示磁碟相關統計資訊

-d, --disk-sum

report some summary statistics about disk activity.

報告一些關於磁碟活動的匯**計資訊

-p, --partition device

detailed statistics about partition (2.5.70 or above required).

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

-s, --unit character

switches outputs between 1000 (k), 1024 (k), 1000000 (m), or 1048576 (m) bytes.

note this does not change the swap (si/so) or block (bi/bo) fields.

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

-t, --timestamp

向每一行追加時間戳

-w, --wide

wide output mode (useful for systems with higher amount of memory, where the

default output mode suffers from unwanted column breakage). the output is wider

than 80 characters per line.

寬輸出模式(適用於記憶體較大的系統,預設輸出模式會導致不希望的列中斷)。輸出的寬度超過每行80個字元

-v, --version

display version information and exit.

顯示版本資訊

-h, --help

display help and exit.

2、各部分的含義

名稱標誌

說明procs:程序

r: the number of runnable processes。等待執行的任務數

展示了正在執行和等待cpu資源的任務個數。當這個值超過了cpu個數,就會出現cpu瓶頸

b: the number of processes in uninterruptible sleep.等待io的程序數量

這列的值如果長時間大於1,則需要進行關注了 名稱

標誌說明

memory:記憶體

swpd: the amount of virtual memory used.正在使用虛擬的記憶體大小,單位k

free: the amount of idle memory.空閒記憶體大小

buff: the amount of memory used as buffers.已用的buff大小,對塊裝置的讀寫進行緩衝

即將寫入磁碟的緩衝大小

cache: the amount of memory used as cache.已用的cache大小,檔案系統的cache

從磁碟中讀取的快取大小

inact: the amount of inactive memory. (-a option)非活躍記憶體大小,即被標明可**的記憶體,區別於free和active

active: the amount of active memory. (-a option)活躍的記憶體大小 名稱

標誌說明

swap

由記憶體進入交換區的數量

由交換區進入記憶體的數量 名稱

標誌說明

iobi: blocks received from a block device (blocks/s).每秒讀取的塊數(讀磁碟)

從塊裝置讀取資料的量(讀磁碟)

bo: blocks sent to a block device (blocks/s). 每秒寫入的塊數(寫磁碟)

從塊裝置寫入資料的量(寫磁碟) 名稱

標誌說明

system

in: the number of interrupts per second, including the clock. 每秒中斷數,包括時鐘中斷

表示在某一時間間隔中觀測到的每秒裝置中斷數

cs: the number of context switches per second. 每秒上下文切換數

表示每秒產生的上下文切換次數 名稱

標誌說明

cpuus: time spent running non-kernel code.使用者程序執行消耗cpu時間(user time)

us的值比較高時,說明使用者程序消耗的cpu時間多,但是如果長期超過50%的使用,那麼我們就該考慮優化程式演算法或其他措施了

sy: time spent running kernel code. 系統程序消耗cpu時間(system time)

sys的值過高時,說明系統核心消耗的cpu資源多,這個不是良性的表現,我們應該檢查原因。

id: time spent idle. prior to linux 2.5.41, this includes io-wait time.空閒時間(包括io等待時間)

wa: time spent waiting for io. prior to linux 2.5.41, included in idle.等待io時間

wa過高時,說明io等待比較嚴重,這可能是由於磁碟大量隨機訪問造成的,也有可能是磁碟的頻寬出現瓶頸。

st: time stolen from a virtual machine. prior to linux 2.6.11, unknown.從虛擬機器竊取的時間

一般都為0,不用關注

1、第乙個引數是取樣的時間間隔數,單位是秒,第二個引數是取樣的次數

vmstat 3 3
執行結果:

2、vmstat每3秒採集資料,一直採集,直到結束程式

vmstat 3
執行結果:

vmstat 命令詳解

vmstat 是用來實時檢視記憶體使用情況,反映的情況比用top直觀一些.如果直接使用,只能得到當前的情況,最好用個時間間隔來採集 vmstat t 其中t用具體的時間標示,單位是 秒 例如 vmstat 5 每隔5秒採集一次.這樣在重新整理的時候就能比較系統的看到那個列不正常的 procs r 在...

Vmstat命令詳解

procs r列表示執行和等待cpu時間片的程序數,這個值如果長期大於系統cpu的個數,說明cpu不足,需要增加cpu。b列表示在等待資源的程序數,比如正在等待i o 或者記憶體交換等。l memory swpd 列表示切換到記憶體交換區的記憶體數量 以 k為單位 如果 swpd 的值不為 0,或者...

vmstat 命令詳解

vmstat 是用來實時檢視記憶體使用情況,反映的情況比用top直觀一些.如果直接使用,只能得到當前的情況,最好用個時間間隔來採集 vmstat t 其中t用具體的時間標示,單位是 秒 例如 vmstat 5 每隔5秒採集一次.這樣在重新整理的時候就能比較系統的看到那個列不正常的 procs r 在...