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命令¶
top 比 ps 更動態,能即時刷新系統狀態,像一個“動態儀表盤”。直接執行 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¶
htop 是 top 的增強版,支持鼠標操作和進程樹展示,適合更直觀地管理進程。安裝後執行:
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¶
當系統提示“磁盤空間不足”時,df 和 du 是關鍵工具:
- 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¶
當網絡異常(如端口被佔用、連接數過多),用 ss 或 netstat 排查:
- 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(
free中swap used非0)說明內存不足 - 緩存釋放:
echo 3 > /proc/sys/vm/drop_caches可釋放緩存(需謹慎)
3. 磁盤指標¶
- 分區使用率:
df -h中Use%接近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系統監控的核心是掌握工具(ps、top、df、iostat)和指標(CPU、內存、磁盤、網絡),通過“觀察-分析-優化”循環保障系統穩定。建議初學者從日常操作開始練習(如定期用 df -h 檢查磁盤),結合實際問題逐步深入,最終能快速定位系統瓶頸。