vmstat 詳解
來源:互聯網
上載者:User
vmstat介紹.Procs
-r: 啟動並執行和等待(CPU時間片)啟動並執行進程數,這個值也可以判斷是否需要增加CPU(長期大於1)
-b: 處於不可中斷狀態的進程數,常見的情況是由I/O引起的。
MEMORY
-swap:切換到交換記憶體上的記憶體(預設以KB為單位)
如果SWAP的值不為0,或者還比較大,比如超過100M了,但是SI,SO的值長期為0,這種情況我們可以不用擔心,不會影響系統效能。-free:p閒置實體記憶體- buff:作為buffer cache的記憶體,對塊裝置的讀寫進行緩衝
-cache:作為page cache的記憶體,檔案系統的cache
如果cache的值大的時候,說明cache處的檔案數多,如果頻繁訪問到的檔案都能被cache處,那麼磁碟的讀IO bi會非常小。SWAP
-si:交換記憶體使用量,由磁碟調入記憶體
-so:交換記憶體使用量,由記憶體調入磁碟
記憶體夠用的時候,這2個值都是0,如果這2個值長期大於0時,系統效能會受到影響,磁碟IO和CPU資源都會被消耗。我發現有些朋友看到空閑記憶體(FREE)很少的或接近於0時,就認為記憶體不夠用了,實際上不能光看這一點,還要結合si,so,如果free很少,但是si,so也很少(大多時候是0),那麼不用擔心,系統效能這時不會受到影響的。IO
-bi:從塊裝置讀入的資料總量(讀磁碟)(KB/S)
-bo:寫入到塊裝置的資料總量(寫磁碟)(KB/S)
隨機磁碟讀寫的時候,這2個值越大(如超出1M),能看到CPU在IO等待的值也會越大SYSTEM
--in:每秒產生的中斷次數
--cs:每秒產生的環境切換次數
上面2個值越大,會看到由核心消耗的CPU時間會越大CPU
-us:使用者進程消耗的CPU時間百分
us的值比較高時,說明使用者進程消耗的CPU時間多,但是如果長期超50%的使用,那麼我們就該考慮最佳化程式演算法或者進行加速(比如PHP/PERL)
-sy:核心進程消耗的CPU時間百分比(sy的值高時,說明系統核心消耗的CPU資源多,這並不是良性表現,我們應該檢查原因)-wa:IO等待消耗的CPU時間百分比
wa的值高時,說明IO等待比較嚴重,這可能由於磁碟大量作隨機訪問造成,也有可能磁碟出現瓶頸(塊操作)。
-id:CPU處於空閑狀態時間百分比情景分析:
vmstat的輸出哪些資訊值得關注?
--proc r:啟動並執行進程比較多,系統很繁忙
--IO bo:磁碟寫的資料量稍大,如果大檔案的寫,10以內基本不用擔心,如果是小檔案2M以前基本正常,
--CPU us:持續大於50,服務高峰期可以接受
--CPU wa:稍微有些同
--CPU id:持續小於50,服務高峰期可以接受
TOP命令:這個命令可以查看系統中啟動並執行進程的狀況,CPU使用狀況,系統負載,記憶體使用量等。它是檢查系統進程健全狀態最方便的工具了。它預設顯示部分活動的進程,並按照進程使用CPU的多少排序,top參數:
-D 不可中斷休眠,通常是IO操作處的狀態
-R 正在執行的或者處在等街待的進程隊列中
-S 休眠中
-T 暫停颳起的
-Z 殭屍進程,進程執行完成,但由於其父進程沒有銷毀該進程,而被INIT進程接管進行銷毀。
-W 沒有使用實體記憶體,所佔用的實體記憶體被切換到交換記憶體
-N 低優先順序轉自 http://jeck2046.blog.51cto.com/184478/93308