1. 程式人生 > >linux系統管理--top命令

linux系統管理--top命令

stopped 谷歌百度 inux 正常 為我 cache 其中 休眠 運行

這些日子,運維公司三臺服務器,一個小夥伴貌似對top命令不太感冒,我告訴他去百度(不懂谷歌百度的程序員不是好廚師),然後突然發現也許我自己該整理一下相關的東西了

top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況。

在linux下,執行top命令

技術分享

top命令是可以輸入交互命令的,按“H”或者“?”就可以看到交互命令的幫助。

在top命令的交互模式當中可以執行以下的命令來顯示相應的信息

  • P :以cpu的使用率排序,默認就是以cpu使用率排序
  • M:以內存的使用率排序
  • N:以pid排序
  • q:退出top

對於top命令來講,最主要的作用就是上邊那五行,通過這五行,能夠很好的分析系統的健康狀態。

技術分享

上圖是top命令的執行結果,其中 技術分享表示top命令的執行時間,註意,top命令默認的是每三秒鐘執行一次,下面依次說說幾個比較重要的系統指標。

  • 技術分享 表示當前系統運行多長時間,很多人都在linux一些論壇炫耀,我的系統運行多久多久了(由於這臺機器為我的測試機所以很久我也沒有重啟過了),這種做法,我是不建議采取的,因為我們運維服務器的最終目的是為了保證系統正常穩定的運行,而不是飈你的運行時間有多久。對於服務器來講,重啟服務器間隔時間越長,服務器出現問題的可能性就會越大,系統中緩存,臨時文件啥的啊,導致系統越來越卡,千萬不要去追求系統運行時間,要追求系統的無故障率。比較好的做法是定期的重啟服務器,如果是高壓力高負載的服務器,建議一周重啟一次。如果是低壓力服務器,建議每個月重啟一下。有計劃的重啟服務器,也是服務器運維的基本的一個原則。
  • 技術分享 表示當前系統,在一分鐘之前,五分鐘之前和十五分鐘之前的平均負載。這個值得衡量標準,經驗之談,一般以服務器cpu核數來看,如果服務器cpu核數為2,這個值不能大於2;如果cpu核數為4,這個值不能大於4。註意,如果服務器為4核,但是這個值正好為4,通過查看cpu使用率,內存占用率均為百分之六七十,那麽我們認為那個值是合理值(需要從系統的真實使用情況來分析)。
  • 技術分享

    記錄了系統總共運行的進程數total 其中, running:在運行的進程 sleeping:休眠進程 stopped :停止的進程 zombie:僵屍進程

  • 技術分享

  us:用戶進程占用cpu百分比 sy:系統進程占用cpu百分比 ni:被修改過優先級進程占用的百分比 id:系統空閑百分比(重要指標),一般認為不能低於百分之20

  對於wa,hi,si,st不常使用,如果碰到請自行百度.

  • 技術分享

    這些指標是針對的內存和swap(交換分區)來說的,在這裏buffer是緩沖,它的作用是加速了數據的寫入,cache是緩存,它的作用為加速了數據的讀寫,

對於下部分結果信息,顯示的是每個系統進程的運行狀態,類似於ps命令,默認系統已cpu占有率為基準,誰的cpu占有率高誰就排到頂部,依次排列。

技術分享

解釋一下幾個關於top參數:

top -b -n -1 >top.log 將top命令結果集 輸出到top.log 中

總結,top命令,最主要的就是上五行指標參數,我們在運維服務器的時候應該集中關註的有load average,cpu的空閑率,內存的空閑率。

linux系統管理--top命令