Vmstat命令詳解

2021-06-06 23:18:29 字數 1776 閱讀 3531

procs

r列表示執行和等待cpu時間片的程序數,這個值如果長期大於系統cpu的個數,說明cpu不足,需要增加cpu。

b列表示在等待資源的程序數,比如正在等待i/o、或者記憶體交換等。 l

memory

swpd

列表示切換到記憶體交換區的記憶體數量(以

k為單位)。如果

swpd

的值不為

0,或者比較大,只要si、

so的值長期為

0,這種情況下一般不用擔心,不會影響系統效能。

free

列表示當前空閒的物理記憶體數量(以

k為單位)

buff

列表示buffers cache

的記憶體數量,一般對塊裝置的讀寫才需要緩衝。

cache

列表示page cached

的記憶體數量,一般作為檔案系統

cached

,頻繁訪問的檔案都會被

cached

,如果cache

值較大,說明

cached

的檔案數較多,如果此時io中

bi比較小,說明檔案系統效率比較好。 l

swap si

列表示由磁碟調入記憶體,也就是記憶體進入記憶體交換區的數量。 so

列表示由記憶體調入磁碟,也就是記憶體交換區進入記憶體的數量。

記憶體夠用的時候,這2

個值都是

0,如果這

2個值長期大於

0時,系統效能會受到影響,磁碟io和

cpu資源都會被消耗。

有些朋友看到空閒記憶體(free

)很少的或接近於

0時,就認為記憶體不夠用了,實際上不能光看這一點,還要結合

si,so

,如果free

很少,但是

si,so

也很少(大多時候是

0),那麼不用擔心,系統效能這時不會受到影響的。

如果(memory)swpd的值不為0,或者比較大,比如超過了100m,只要si、so的值長期為0,系統效能還是正常。lio

bi:從塊裝置讀入的資料總量(讀磁碟)(kb/s)

bo:寫入到塊裝置的資料總量(寫磁碟)(kb/s)

隨機磁碟讀寫的時候,這2個值越大(如超出1m),能看到cpu在io等待的值也會越大。

lsystem in

每秒的中斷數,包括時鐘中斷。 cs

每秒的環境(上下文)切換次數。

上面2個值越大,會看到由核心消耗的cpu時間會越大  l

cpu

us列顯示了使用者程序消耗的cpu 時間百分比。us的值比較高時,說明使用者程序消耗的cpu時間多,但是如果長期大於50%,就需要考慮優化程式或演算法。

sy列顯示了核心程序消耗的cpu時間百分比。sy的值較高時,說明核心消耗的cpu資源很多。

根據經驗,us+sy的參考值為80%,如果us+sy大於 80%說明可能存在cpu資源不足。 id

cpu處於空閒狀態時間百分比。

waio等待消耗的cpu時間百分比

。wa的值高時,說明io等待比較嚴重,這可能由於磁碟大量作隨機訪問造成,也有可能磁碟出現瓶頸(塊操作)。

情景分析:

vmstat的輸出哪些資訊值得關注?

--proc r:執行的程序比較多,系統很繁忙

--io bo:磁碟寫的資料量稍大,如果大檔案的寫,10以內基本不用擔心,如果是小檔案2m以前基本正常,

--cpu us:持續大於50,服務高峰期可以接受

--cpu wa:稍微有些同

--cpu id:持續小於50,服務高峰期可以接受

vmstat 命令詳解

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

vmstat 命令詳解

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

vmstat 命令詳解

linux vmstat命令實戰詳解 vmstat命令是最常見的linux unix監控工具,可以展現給定時間間隔的伺服器的狀態值,包括伺服器的cpu使用率,記憶體使用,虛擬記憶體交換情況,io讀寫情況。這個命令是我檢視linux unix最喜愛的命令,乙個是linux unix都支援,二是相比to...