掌握進程檢視工具是 Linux 運維核心技能。本文整理最常用命令與實戰組合拳。
# 經典組合:所有進程、用戶導向、完整格式
ps aux
ps -ef
# 重點欄位
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 10348 688 ? Ss Mar16 0:01 init
# 篩選特定進程
ps aux | grep nginx
ps -p 1234 -o pid,ppid,cmd,%cpu,%mem
top:內建,按 P(CPU)、M(記憶體)、1(核心細分)、k(殺進程)htop:彩色、滾動、樹狀、滑鼠支援,強烈建議安裝(yum/apt install htop)# 每秒採樣,顯示 CPU/記憶體/I/O/上下文切換
pidstat -u -r -d -w 1
# 監控特定進程
pidstat -p 1234 1 10
| 場景 | 命令組合 |
|---|---|
| 找出 CPU 佔用最高的 10 個進程 | ps aux --sort=-%cpu | head -11 |
| 找出記憶體佔用最高的 10 個進程 | ps aux --sort=-%mem | head -11 |
| 查看進程樹(父子關係) | pstree -p | grep nginx |
| 統計進程狀態分布 | ps aux | awk '{print $8}' | sort | uniq -c | sort -rn |
| 查看埠佔用進程 | netstat -tlnp | grep :80 或 ss -tlnp | grep :80 |
| 分析僵屍進程 | ps aux | awk '$8 ~ /Z/ {print}' |
R:運行/可運行S:可中斷睡眠D:不可中斷睡眠(通常 I/O 等待)Z:殭屍進程(父進程未回收)T:停止/追蹤<:高優先級,N:低優先級,l:多執行緒cat /proc/1234/status # 進程詳細狀態
cat /proc/1234/limits # 資源限制
ls -l /proc/1234/fd/ # 打開的文件描述符
cat /proc/1234/environ # 環境變量(以 \0 分隔)
WSUS 3.0 完整部署指南:硬體需求、安裝精靈、管理主控台設定與同步驗證
Windows Server tcpsvcs.exe 佔用極大虛擬記憶體 (1.9GB) 根因分析與修復:DHCP DNS 動態更新導致記憶體洩漏
Windows Server 2008 R2 運維寶典:26 個高頻問題一網打盡
機房頻寬品質實測指南:tracert 與 ping 判斷骨幹網接入優劣
Oracle OraHome92Agent 服務啟動即停止:電腦名稱變更導致的修復方案
三大虛擬化平台深度對決:VMware vSphere、Microsoft Hyper-V、Citrix XenServer 誰是您的最佳拍檔?