Linux系統監控是保障服務器穩定運行的基礎技能。想象一下,如果你的網站突然打不開,或者服務器變得卡頓,卻不知道哪裏出了問題,這時候就需要藉助監控工具來“診斷”系統狀態。本文將帶你認識Linux下最常用的監控工具,並理解關鍵性能指標,讓你能快速發現系統異常。

一、常用基礎監控工具

1. 進程監控:誰在“喫”系統資源?

當系統變慢時,首先要看看哪些進程佔用了太多資源。ps 是最基礎的進程查看工具,簡單用法是:

ps aux
  • -a:顯示所有用戶的進程
  • -u:顯示進程詳細信息(用戶、CPU/內存佔用、啓動時間等)
  • -x:顯示無終端的後臺進程

執行後會看到很多列,重點關注:
- PID:進程ID,唯一標識一個進程
- %CPU:進程佔用CPU的百分比
- %MEM:進程佔用內存的百分比
- USER:運行進程的用戶
- COMMAND:進程的命令名稱

如果想按CPU使用率排序,可執行:

ps aux --sort=-%cpu | head -10  # 顯示CPU佔用最高的前10個進程

2. 即時系統儀表盤:top命令

topps 更動態,能即時刷新系統狀態,像一個“動態儀表盤”。直接執行 top

top

頂部會顯示系統整體狀態,中間是進程列表。重點看:
- Load Average(負載平均值):格式爲“1分鐘負載, 5分鐘負載, 15分鐘負載”,表示單位時間內需要CPU處理的任務數。若CPU有4核,理想情況下1分鐘負載不超過4。
- CPU使用率(Cpu(s)行)
- us:用戶空間進程佔用CPU時間(過高可能是程序異常,如死循環腳本)
- sy:內核空間進程佔用CPU時間(系統調用過多,如頻繁IO操作)
- wa:IO等待時間(磁盤讀寫慢時,wa會很高,需排查磁盤瓶頸)
- id:空閒CPU時間(越高越好,說明系統空閒)

3. 更友好的進程工具:htop

htoptop 的增強版,支持鼠標操作和進程樹展示,適合更直觀地管理進程。安裝後執行:

htop
  • F5 顯示進程樹,F9 直接殺死進程,P 按CPU排序,M 按內存排序,q 退出。

4. 內存“體檢”:free命令

內存不足是常見問題,free 幫你直觀查看內存使用:

free -h  # -h 用MB/GB等人類可讀單位顯示

輸出解釋:
- total:總內存
- used:已用內存(含緩存)
- free:真正空閒內存(不含緩存)
- buff/cache:系統緩存數據的內存(非浪費,是優化的關鍵)
- available:實際可用內存(含可釋放的緩存)

注意:buff/cache 不是“浪費”的內存,而是系統用於加速讀寫的數據緩存。

5. 磁盤空間“管家”:df與du

當系統提示“磁盤空間不足”時,dfdu 是關鍵工具:
- df -h:查看磁盤分區整體空間(Use% 超過85%需清理)

  df -h  # 示例:/dev/vda1 75% 使用率,需關注
  • du -sh /path:查看指定目錄大小(-s 彙總,-h 人類可讀)
  du -sh /var/log  # 查看日誌目錄大小,方便清理

6. 磁盤IO性能:iostat

若懷疑磁盤讀寫慢,用 iostat 監控IO:

iostat -x 1  # -x 詳細信息,1秒刷新一次

重點關注:
- tps:每秒IO請求數(越高表示磁盤繁忙)
- kB_read/s/kB_wrtn/s:每秒讀寫數據量(越高表示IO壓力大)
- %util:磁盤忙碌百分比(超過80%說明磁盤是瓶頸)

7. 網絡連接“偵探”:ss與netstat

當網絡異常(如端口被佔用、連接數過多),用 ssnetstat 排查:
- ss -tuln:查看TCP/UDP監聽端口(t TCP, u UDP, l 監聽, n 數字端口)

  ss -tuln  # 示例:0.0.0.0:22 表示SSH端口被監聽
  • ss -s:查看連接狀態彙總(ESTABLISHED、TIME_WAIT等)

二、關鍵性能指標解讀

1. CPU指標

  • 負載平均值:超過CPU核心數時系統卡頓(如4核CPU,1分鐘負載>4需警惕)
  • CPU使用率us 過高可能是程序異常,wa 過高可能是磁盤IO瓶頸
  • 上下文切換:頻繁切換進程(vmstat 工具 cs 參數)會消耗CPU

2. 內存指標

  • 內存使用率used/total 建議不超過80%,否則需擴容
  • Swap使用率:持續使用Swap(freeswap used 非0)說明內存不足
  • 緩存釋放echo 3 > /proc/sys/vm/drop_caches 可釋放緩存(需謹慎)

3. 磁盤指標

  • 分區使用率df -hUse% 接近100%時需清理大文件
  • IO性能iostat%util 持續>80%或 wa 持續>20%,需優化磁盤

4. 網絡指標

  • 吞吐量iftop 查看即時網絡流量,避免帶寬超限
  • 連接數ss -s 檢查ESTABLISHED連接數,過多TIME_WAIT需排查連接釋放問題

三、實際場景示例:系統變慢了怎麼辦?

假設系統卡頓,排查步驟:
1. top:看負載和CPU(wa 高→磁盤IO問題,us 高→高CPU進程)
2. free -h:內存不足時清理緩存或釋放大文件
3. df -h:磁盤滿時用 du -sh 定位大目錄(如日誌、備份文件)
4. ss -tuln:檢查異常端口,確認無惡意進程或連接

總結

Linux系統監控的核心是掌握工具(pstopdfiostat)和指標(CPU、內存、磁盤、網絡),通過“觀察-分析-優化”循環保障系統穩定。建議初學者從日常操作開始練習(如定期用 df -h 檢查磁盤),結合實際問題逐步深入,最終能快速定位系統瓶頸。

小夜