歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 解密Linux “top”命令

解密Linux “top”命令

日期:2017/2/28 14:38:25   编辑:Linux教程

當對服務器的性能好奇時,我第一個想到的是"top"命令。top不是最好的,它不是一個長期的快照,但是它提供了服務器的一個不錯的時間點快照,並且試著提供了告訴"現在在發生什麼?"。不幸地,如果你沒有深入了解不同顯示域的意義,top的輸出很容易被誤解。

我不會完整解讀top命令的man page,當你和時間和意願時,它一直在那等著你。我想要做的是指出一些我如何得到系統的快速概況的幾個要點,並希望得到我接下來該怎麼做的指示。top是我在故障排除時的第一站,但這很少會是我唯一的一站。

top命令我第一個看的是平均負載(load average),它在右上角的屏幕上。平均負載的計算是基於統計搜集到的數量,但是通常可以認為是CPU被請求工作的數量。如果你的機器有一個單核CPU,那麼平均負載是1就意味著機器滿載的,並且有足夠的能力在采樣時間內完成任務。同樣地,如果平均負載是2,那對單核的CPU是超載的,並需要2個可用內核才能在同樣的采樣時間內完成的要求的任務。隨著8、16、32核的發售,我會在判斷平均負載的時候就要注意一下。比如我需要去檢測時,我會在top裡按了數字"1",這會列出所有CPU核列表,這樣我就可以得到一個快速計數用於比較負載。

我檢查的第二項是上面列出來的內容的第9列,標記著"%CPU"那個。對這一列的解釋是很模糊的:

任務所分享的上次屏幕刷新後的CPU運行時間,以全部的CPU時間百分比表示。在一個真正的SMP(多處理器)環境中,如果'Irix mode'是關閉的,top會在'Solaris mode'下運行,這裡一個任務的cpu使用率將除以全部的CPU數量。你可以用'I'(大寫字母I)這個交互命令觸發Irix或Solaris模式。

一點也不清楚,是麼?這裡要記住的主要意思是,如果單個進程由於某個原因或者其他因素占用率升高,那麼他很有可能會以%CPU很高的數字顯示在top的第一行。

我下一個注意到的區域是"Cpu(s):"這一行,在頭部信息的中間。特別地,我對%us、sy%、%id、和%wa感興趣,它們分別是用戶進程、系統進程、空閒時間和CPU用於等待I/O流執行的時間比例。這個百分比應該接近於0,高於5%時需要密切關注。

最後,我想要看看系統up時間,這顯示在左上角。如果我對一台服務器有疑問,並且這台服務器最近重啟過,這裡可能會發現一些什麼,或許是一個守護進程沒有啟動。

這些檢查只需要幾秒。如果我只是觀察,我可能讓top運行幾分鐘並觀察進程、CPU和負載,但是通常地我很快地進入和退出top。top是給你一個系統健康概況的那些奇妙系統管理員工具之一,並允許你快速診斷潛在的問題。

推薦閱讀:

Linux流量監控工具 – iftop http://www.linuxidc.com/Linux/2013-08/89102.htm

Linux top 命令詳解 http://www.linuxidc.com/Linux/2013-06/85626.htm

Linux下top命令 http://www.linuxidc.com/Linux/2013-04/83151.htm

Linux下高效的使用 top 命令 http://www.linuxidc.com/Linux/2013-04/82676.htm

Linux系統top命令詳解 http://www.linuxidc.com/Linux/2012-12/76750.htm

Linux 系統監控負載top命令詳解 http://www.linuxidc.com/Linux/2012-10/72756.htm

Copyright © Linux教程網 All Rights Reserved