Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Linux 程序監控實戰:ps 靜態快照與 top 動態觀察完整指令參考

編輯:Linux 系統常見問題解答

一、ps 靜態查看程序

常用組合

ps aux              # BSD 風格,顯示所有使用者程序
ps -ef              # System V 風格,顯示 PPID
ps aux --sort -%cpu # 依 CPU 使用率降冪排序
ps aux --sort -rss  # 依實體記憶體降冪排序
ps axo user,pid,ppid,%mem,%cpu,command --sort -%cpu  # 自訂欄位並排序

輸出欄位說明

欄位含義
USER擁有者使用者
PID程序 ID
%CPUCPU 使用率
%MEM實體記憶體使用率
VSZ虛擬記憶體大小 (KB)
RSS駐留集合大小 (KB),實際佔用實體記憶體
TTY控制終端機
STAT程序狀態碼(R/S/D/T/Z/X 等)
START啟動時間
TIME累積 CPU 時間
COMMAND啟動指令與參數

查詢特定程序

ps aux | grep httpd
pgrep -l httpd      # 僅顯示 PID 與名稱
pidof httpd         # 僅顯示 PID

程序樹視圖

ps auxf | grep httpd   # 顯示父子關係縮排
pstree -p              # 完整程序樹含 PID

二、top 動態監控程序

啟動參數

top                    # 互動模式,預設 3 秒重繪
top -d 1               # 1 秒重繪
top -p 1234,5678       # 只監控指定 PID
top -u apache          # 只監控指定使用者
top -b -n 2 > top.txt  # 批次模式輸出 2 次至檔案

顯示區塊解析

系統整體統計(上半部)

top - 14:15:04 up 47 min, 2 users, load average: 0.25, 0.18, 0.12
Tasks: 235 total, 1 running, 234 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.9%us, 1.0%sy, 0.0%ni, 90.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 7944064k total, 746164k used, 7197900k free, 35724k buffers
Swap: 1048568k total, 0k used, 1048568k free, 261492k cached
  • load average:1/5/15 分鐘平均負載(可執行程序數)。
  • us/sy/ni/id/wa/hi/si/st:user/system/nice/idle/wait/irq/softirq/steal 時間百分比。

程序清單(下半部)

同 ps 欄位,即時更新。

互動熱鍵

鍵功能
M依記憶體排序
P依 CPU 排序
N依 PID 排序
R反轉排序
f自訂顯示欄位
1顯示所有 CPU 核心負載
z彩色模式
W寫入設定檔
h / ?說明
q離開

三、進階替代工具推薦

  • htop:彩色、滾動、滑鼠支援、樹狀檢視、可直接 kill。
  • glances:跨平台、Web 介面、API、容器支援。
  • atop:長期記錄、磁碟/網路 I/O 細分、資源瓶頸分析。

小結

ps 適合腳本擷取快照、top 適合即時觀察、htop 適合日常互動操作。熟記 ps aux --sort -%cpu、top -d 1 -p PID 等高頻組合,能快速定位效能瓶頸。

Copyright © Windows教程網 All Rights Reserved