伺服器效能調試工具之vmstat

來源:互聯網
上載者:User

伺服器效能調試工具之vmstat vmstat是一個十分有用的Linux系統監控工具,使用vmstat命令可以得到關於進程、記憶體、記憶體分頁、堵塞IO、traps及CPU活動的資訊。 一、前言  很顯然從名字中我們就可以知道vmstat是一個查看虛擬記憶體(Virtual Memory)使用狀況的工具,但是怎樣通過vmstat來發現系統中的瓶頸呢?在回答這個問題前,還是讓我們回顧一下Linux中關於虛擬記憶體相關內容。  二、虛擬記憶體運行原理  在系統中啟動並執行每個進程都需要使用到記憶體,但不是每個進程都需要每時每刻使用系統分配的記憶體空間。當系統運行所需記憶體超過實際的實體記憶體,核心會釋放某些進程所佔用但未使用的部分或所有實體記憶體,將這部分資料儲存在磁碟上直到進程下一次調用,並將釋放出的記憶體提供給有需要的進程使用。  在Linux記憶體管理中,主要是通過“調頁Paging”和“交換Swapping”來完成上述的記憶體調度。調頁演算法是將記憶體中最近不常使用的頁面換到磁碟上,把活動頁面保留在記憶體中供進程使用。交換技術是將整個進程,而不是部分頁面,全部交換到磁碟上。  分頁(Page)寫入磁碟的過程被稱作Page-Out,分頁(Page)從磁碟重新回到記憶體的過程被稱作Page-In。當核心需要一個分頁時,但發現此分頁不在實體記憶體中(因為已經被Page-Out了),此時就發生了分頁錯誤(Page Fault)。  當系統核心發現可運行記憶體變少時,就會通過Page-Out來釋放一部分實體記憶體。經管Page-Out不是經常發生,但是如果Page-out頻繁不斷的發生,直到當核心管理分頁的時間超過運行程式的時間時,系統效能會急劇下降。這時的系統已經運行非常慢或進入暫停狀態,這種狀態亦被稱作thrashing(顛簸)。  三、使用vmstat  1.用法  vmstat [-a] [-n] [-S unit] [delay [ count]]  vmstat [-s] [-n] [-S unit]  vmstat [-m] [-n] [delay [ count]]  vmstat [-d] [-n] [delay [ count]]  vmstat [-p disk partition] [-n] [delay [ count]]  vmstat [-f]  vmstat [-V]  -a:顯示活躍和非活躍記憶體  -f:顯示從系統啟動至今的fork數量 。 -m:顯示slabinfo  -n:只在開始時顯示一次各欄位名稱。  -s:顯示記憶體相關統計資訊及多種系統活動數量。  delay:重新整理時間間隔。如果不指定,只顯示一條結果。  count:重新整理次數。如果不指定重新整理次數,但指定了重新整理時間間隔,這時重新整理次數為無窮。  -d:顯示磁碟相關統計資訊。  -p:顯示指定磁碟分割統計資訊  -S:使用指定單位顯示。參數有 k 、K 、m 、M ,分別代表1000、1024、1000000、1048576位元組(byte)。預設單位為K(1024 bytes)  -V:顯示vmstat版本資訊。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.