實用的top命令
對於系統級的監控來說,top命令是實用而高效的瑞士軍刀。相比vmstat,sar來說提供的是即時的進程資訊,對於監控效能,排查問題是很高效的。而且提供了互動命令模式,能夠靈活的對輸出結果進行組合。
如果資料庫系統中存在著cpu或者記憶體的過度使用,或者說IO等待較高,都可以通過top命令進行一個快速的定位到系統進程資訊,然後從系統級和資料庫級的進程進行一個映射,從而得到資料庫級的進程資訊,定位可能存在的問題。
top命令是個人比較喜好的一個命令,大體的總結了下,有一些比較實用的功能。
為什麼 Linux 的 htop 命令完勝 top 命令
Ubuntu下最強大的進程監視器htop使用
CentOS 6.5中安裝htop進程管理監控工具
首先簡單解釋下top命令的一些內容。
第1行顯示了系統級的負載,平均負載有3個輸出,分別代表在過去的1分鐘,5分鐘,15分鐘時的平均負載,可以看到當前這個系統是沒有任何壓力的。這部分的輸出和命令uptime是一致的。
第2行顯示了關於進程的一些大體資訊,當前的進程總數,哪些進程是運行狀態,哪些睡眠,等待狀態等。可以看到進程27758是運行狀態的,因為標亮的進程列表中如果"S"對應的值為R代表running,如果為S則為sleeping.
第3行顯示了cpu的一些負載資訊,這個也是top命令的比較實用的一個功能。特別是%id和%wa這兩個指標尤為重要,很多的效能問題中,如果%id過低,%wa也很低,說明cpu使用率很高,可能有一些sql語句消耗了大量的cpu資源,如果%wa很高的話,很可能是系統IO出現了問題。在以往的系統升級中,如果發現%wa過於10%,就說明IO等待很高了,可以通過dd等方式做一個簡單的測試。
第4行顯示了記憶體的一些使用方式。如果記憶體使用量情況存在明顯的異常,可以通過標亮的進程資訊中尋找%MEM消耗比較高的進程。
第5行顯示了交換區的一些情況,如果記憶體足夠或者系統負載不高,這個部分的資料沒有什麼大的變化。
-B 選項
輸入top,然後在螢幕中直接輸入B,就會開啟或者關閉表中重要數位加粗顯示,如果你仔細比較會發現確實有一些資料是做了加粗的顯示,這樣也更方便你對問題進行排查。
-C 選項
直接輸入top -c 或者(輸入top,然後在螢幕中直接輸入c)會切換顯示進程的命令名或者是完成的命令列輸入資訊。
進程28751就可以看到進程對應的命令列輸入資訊
-o選項
如果你想定製顯示top命令的輸出順序,比如預設是按照pid,user的順序來顯示進程資訊的,如果你想根據user,pid來顯示,可以使用c選項
輸入top,然後在顯示螢幕上輸入o,就會彈出一個互動介面。我想先顯示列USER,就輸入E,然後斷行符號,結果就進行了重排。
修改後顯示的列的順序就相應的進行了調整。
更多詳情見請繼續閱讀下一頁的精彩內容: