注:本博文主要講解vmstat命令結果中各引數的含義,在學習的過程中,總是不能夠清楚的了解這些引數的含義,所以自己稍微記錄一下,本人認為知道各引數的含義是學習linux或者效能分析的基礎,至於如何分析,本人還在學習中……
vmstat主要是用來檢測virtual memory(虛擬記憶體)的。
下面首先來看一下執行這個命令的截圖:
r:可執行佇列的執行緒數,這些執行緒都是可執行狀態,只不過 cpu 暫時不可用;
b:被 blocked 的程序數,正在等待 io 請求;
memory
swpd:已使用的 swap 空間大小,kb 為單位;
free:可用的物理記憶體大小,kb 為單位;
buff:物理記憶體用來快取讀寫操作的 buffer 大小,kb 為單位;
swap
si:資料從 swap 讀取到 ram(swap in)的大小,kb 為單位;
so:資料從 ram 寫到 swap(swap out)的大小,kb 為單位;io
bi:磁碟塊從檔案系統或 swap 讀取到 ram(blocks in)的大小,block 為單位;
bo:磁碟塊從 ram 寫到檔案系統或 swap(blocks out)的大小,block 為單位;
system
in:被處理過的中斷數
cs:系統上正在做上下文切換的數目
cpuus:使用者占用 cpu 的百分比;
sy:核心和中斷占用 cpu 的百分比
id:cpu 完全空閒的百分比
wa:所有可執行的執行緒被 blocked 以後都在等待 io,這時候 cpu 空閒的百分比;
st: time stolen from a virtual machine. prior to linux 2.6.11, unknown. 來自於虛擬機器偷取的cpu所佔的百分比
[加粗字型為本人容易遺忘的引數釋義]
procs r: 執行的程序比較多,系統很繁忙,展示了正在執行和等待cpu資源的任務個數。當這個值超過了cpu個數,就會出現cpu瓶頸。
swap:如果swpd的值不為0,但是si,so的值長期為0,這種情況不會影響系統效能。
si,so:這兩個值越大,會看到由核心消耗的cpu時間會越多。注意:記憶體夠用的時候,這2個值都是0,如果這2個值長期大於0時,系統效能會受到影響,磁碟io和cpu資源都會被消耗。有些朋友看到空閒記憶體(free)很少的或接近於0時,就認為記憶體不夠用了,不能光看這一點,還要結合si和so,如果free很少,但是si和so也很少(大多時候是0),那麼不用擔心,系統效能這時不會受到影響的。
bi/bo::磁碟寫的資料量稍大,如果是大檔案的寫,10m以內基本不用擔心,如果是小檔案寫2m以內基本正常
cpu us::us的值比較高時,說明使用者程序消耗的cpu時間多,如果持續大於50%,服務高峰期可以接受, 如果長期大於50 ,可以考慮優化
cpu sy::現實核心程序所佔的百分比,sys的值過高時,說明系統核心消耗的cpu資源多,這裡us + sy的參考值為80%,如果us+sy 大於 80%說明可能存在cpu不足。
cpu wa: 列顯示了io等待所占用的cpu時間的百分比。這裡wa的參考值為30%,如果wa超過30%,說明io等待嚴重,這可能是磁碟大量隨機訪問造成的,也可能磁碟或者磁碟訪問控制器的頻寬瓶頸造成的(主要是塊操作)。
cpu id: cpu 空閒時所佔百分比 平常持續小於50,服務高峰期可以接受
參考資料:
linux中vmstat命令詳解
vmstat是virtual meomory statistics 虛擬記憶體統計 的縮寫,可對作業系統的虛擬記憶體 程序 cpu活動進行監控。他是對系統的整體情況進行統計,不足之處是無法對某個程序進行深入分析。通常使用vmstat 5 5 表示在5秒時間內進行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 ...