生產環境服務器通常運行於 Runlevel 3(無 GUI),掌握命令行監控工具是運維核心技能。本文精選 16 個經典監控命令,涵蓋 CPU、內存、磁盤 I/O、網絡、進程、系統負載等維度,附帶實戰輸出解讀。
# 永久修改為命令行模式 vim /etc/inittab # 將 id:5:initdefault: 改為 id:3:initdefault: # 臨時切換:init 3
| 命令 | 核心監控維度 | 典型用法 |
|---|---|---|
| iostat | 磁盤 I/O、CPU 等待 | iostat -x 1(擴展統計,1秒間隔) |
| free / meminfo | 內存使用詳情 | free -h / cat /proc/meminfo |
| mpstat | 多核 CPU 利用率 | mpstat -P ALL 1 |
| netstat / ss | 網絡連接、端口、協議統計 | netstat -antulp / ss -antulp |
| nmon | 綜合性能(CPU/內存/磁盤/網絡) | 交互式界面,按鍵切換視圖 |
| pmap | 進程內存映射 | pmap -x PID |
| ps / pstree | 進程狀態、樹狀關係 | ps auxf / pstree -p |
| sar | 歷史性能數據收集分析 | sar -u 1 10(CPU 10 次採樣) |
| strace | 系統調用跟蹤 | strace -p PID -f -o trace.log |
| tcpdump | 數據包抓取分析 | tcpdump -i eth0 -nn -s0 -w dump.pcap |
| top / htop | 實時進程資源佔用 | top -d 1 / htop |
| uptime | 系統負載、運行時間 | uptime |
| vmstat | 虛擬內存、CPU、I/O 綜合 | vmstat 1 10 |
| wireshark | 圖形化數據包深度分析 | GUI 工具,需桌面環境 |
%iowait(>10% 可能有 I/O 瓶頸)、await、svctm%usr+%sys < 70% 健康,> 85% 需優化r(運行隊列)持續 > CPU 核心數說明 CPU 不足;si/so(swap in/out)頻繁非零表明內存壓力runq-sz > 2 且 %runocc > 90% 為 CPU 過載c = CPU m = 內存 d = 磁盤 n = 網絡 k = 內核統計 t = Top 進程 q = 退出