Linux 最大魅力在於可深入內核探究性能瓶頸。本文介紹 7 款內建或常用命令行監控工具,助你快速定位問題。
啟動即顯示進程佔用 CPU、內存、負載、運行隊列等核心指標。熱鍵:
apt install htop / yum install htopvmstat 1 5 # 每秒採樣 1 次,共 5 次
輸出欄位:r(運行隊列)、b(阻塞進程)、swpd/free/buff/cache(內存)、si/so(換入換出)、bi/bo(塊設備 IO)、in/cs(中斷/上下文切換)、us/sy/id/wa/st(CPU 細分)。適合寫入 Cron 定時採集分析趨勢。
常用組合:
ps -ef # 全格式列出所有進程
ps aux --sort=-%cpu | head -n 10 # CPU 佔用前 10
ps -C nginx -o pid,ppid,cmd,%cpu,%mem # 指定進程名顯示自定義欄位
pstree -p # 顯示 PID
pstree -u # 顯示用戶
pstree -a # 顯示完整命令行參數
快速定位孤兒進程、僵屍進程所屬父進程。
pmap -x # 顯示擴展格式:地址、Kbytes、RSS、Dirty、Mode、Mapping
pmap -X # 更詳細(需寬終端)
排查內存洩漏、共享庫加載情況的利器。
iostat -xz 1 10 # 每秒顯示擴展統計,忽略零設備,共 10 次
iostat -d /dev/sda 2 5 # 僅監控 sda,每 2 秒一次,共 5 次
關鍵指標:%util(設備飽和度)、await(平均 IO 等待)、svctm(平均服務時間)、r/s、w/s(讀寫頻率)。
| 場景 | 推薦工具 |
|---|---|
| 實時互動排查 | htop > top |
| 腳本自動化採集 | vmstat、iostat、ps |
| 進程關係分析 | pstree |
| 進程級內存分析 | pmap |
| 磁盤性能瓶頸 | iostat -x |
熟練組合這 7 款工具,覆蓋 90% 以上性能排查場景。建議將常用參數封裝為別名或腳本,提升排障效率。