Linux怎么查看系統(tǒng)負載? top命令實時監(jiān)控系統(tǒng)負載的用法解析

系統(tǒng)負載是否過高可通過top命令查看load average三個數值判斷,若超過cpu核心數則可能存在瓶頸;定位負載高問題需按1查看各cpu使用情況,并結合進程列表分析;%cpu、%mem、time+和command字段是關鍵信息;可使用k、r等快捷鍵進行進程處理或優(yōu)先級調整;注意負載高可能是i/o等待或死鎖導致,此時需配合iostat或vmstat排查,同時建議定期記錄數據觀察趨勢。

Linux怎么查看系統(tǒng)負載? top命令實時監(jiān)控系統(tǒng)負載的用法解析

系統(tǒng)負載高不高,top命令能一眼看出來。不過很多人只會看第一眼的load average,其實這里面的門道不少。

Linux怎么查看系統(tǒng)負載? top命令實時監(jiān)控系統(tǒng)負載的用法解析

top命令基礎界面怎么看

Linux怎么查看系統(tǒng)負載? top命令實時監(jiān)控系統(tǒng)負載的用法解析

運行top之后,默認界面最上面幾行是全局信息。第三行開始才是進程列表。重點看前兩段:

  • 第一行顯示當前時間、運行時長、登錄用戶數
  • 第二行是任務統(tǒng)計,比如“1 running, 199 sleeping”這種信息
  • 真正關鍵的是第三行的CPU狀態(tài)和第四行的內存使用情況

這時候別急著按其他鍵,先看看load average那三個數字。這三個數分別代表過去1分鐘、5分鐘、15分鐘的平均負載。數值超過CPU核心數就說明可能有性能瓶頸。

Linux怎么查看系統(tǒng)負載? top命令實時監(jiān)控系統(tǒng)負載的用法解析

負載過高怎么定位

按1可以展開每個CPU核心的詳細使用情況。如果某個核心長期跑滿,那就要結合下面的進程列表來看。

進程區(qū)域默認按CPU使用率排序。%CPU那一列如果有幾個進程長期占高位,基本就是它們在搞事情。按Shift+M可以切換成按內存排序,有時候內存吃緊也會間接導致負載升高。

建議重點關注以下幾個字段:

  • %CPU:哪個進程占用最多CPU資源
  • %MEM:內存消耗大戶是誰
  • TIME+:累計CPU時間,長時間高的話更值得關注
  • COMMAND:進程名稱,方便快速識別服務類型

交互操作小技巧

top不是只能看不能動,用幾個快捷鍵效率翻倍:

  • 按k輸入PID可以殺掉特定進程(慎用)
  • 按r可以調整進程優(yōu)先級
  • 按h隨時調出幫助文檔
  • 按q退出程序

如果你經常需要監(jiān)控,可以直接加參數運行:

top -d 1

這樣每秒刷新一次,比默認的3秒更快發(fā)現問題。

一些容易忽略的細節(jié)

負載高不一定等于CPU忙。有時候I/O等待或者死鎖也會導致load飆升但CPU利用率不高。這個時候top可能看不出問題根源,需要用iostat或vmstat配合排查。

另外,top看到的負載只是瞬時值。想了解歷史趨勢最好搭配sar或者用腳本定期記錄數據。有些服務器裝了htop,這個工具可視化更好,但基本邏輯和top是一樣的。

基本上就這些。平時多留意正常負載水平,遇到異常才好判斷是不是真有問題。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享