vmstat參數狀況分析

vmstat:用於顯示虛擬內存的工具
一、命令格式:
vmstat[參數][時間][次數]
[root@nginx_A ~]# vmstat 1 2 每隔一秒顯示一次共顯示兩次。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 1688 93400 47764 207544 0 0 1 1 6 5 0 0 100 0 0
1 0 1688 93384 47764 207544 0 0 0 0 37 21 0 0 100 0 0
二、參數解釋及分析
r:運行隊列(多少個進程在真的分配到了CPU),如果這個值超過了CPU的值,說明CPU可能會遇到性能瓶頸。
b:表示阻塞的進程
swpd:虛擬內存已使用的大小,如果這個值大於0,說明內存不夠用了,但是也要看si和so的值,如果swpd的值不爲0,但是si和so的值長期爲0,此時不會影響系統性能。
free:空閒的物理內存的大小。
buff:存儲目錄裏面有什麼內容、權限等的緩存。
cache:記憶我們打開的文件,給文件做緩衝。
備註:把空閒內存的一部分拿來做緩衝,爲了提高程序執行的性能,當程序使用內存時,buffer/cache會很快的被使用。
si:可以理解爲swapin,每秒從磁盤讀入虛擬內存的大小,如果這個值大於0,說明內存不夠用了。
so:同上理解爲swapout,每秒從虛擬內存讀出至磁盤的大小,如果這個值大於0,說明內存不夠用了。
bi:塊設備每秒接受的塊數量。寫入時此數值會變大
bo:塊設備每秒發送的塊數量。讀出時此數值會變大
in:每秒CPU的中斷次數。
cs:每秒上下文切換次數,例如系統函數的調用,線程的切換都需要進行上下文切換。
us:用戶進程消耗CPU時間
sy:系統進程消耗CPU時間
id:空閒CPU時間
備註:us+sy+id=100,當us+sy的值接近100時,說明CPU滿負荷工作,但是CPU滿負荷工作並不能代表什麼,因爲kernel總是會讓CPU跑起來,使得任務的吞吐量最大化。因此判斷CPU出現瓶頸的關鍵因素還是r(運行隊列)
wa:等待IP CPU時間
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章