Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 進程檢視全指南:ps、top、pstree 進階用法與輸出解讀

編輯:Linux 教學

掌握進程檢視是 Linux 系統管理與效能分析的基本功。本文詳細解析 ps 多維度過濾、top 互動式監控、pstree 父子關係樹狀顯示,並附輸出欄位含義速查表。

1. ps:靜態快照式檢視

核心語法

ps [選項]

常用組合

指令用途
ps aux所有進程詳細資訊 (BSD 風格)
ps -ef所有進程標準格式 (System V 風格)
ps -eLf顯示執行緒 (LWP)
ps -ejH樹狀顯示進程層級
ps axjf另一種樹狀格式
ps -U root -u root -N非 root 使用者進程
ps -u username指定使用者進程
ps -C nginx指定命令名進程
ps -o pid,user,cmd,pcpu,pmem -p 1234自定義欄位查詢指定 PID

關鍵輸出欄位含義 (ps aux)

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1 123456  7890 ?        Ss   08:00   0:01 /sbin/init
  • STAT 狀態碼:R 運行/就緒、S 可中斷睡眠、D 不可中斷睡眠 (通常 I/O)、Z 殭屍、T 停止、s 會話領導者、+ 前台進程、l 多執行緒
  • VSZ 虛擬記憶體大小 (KB)、RSS 實際駐留記憶體 (KB)

2. top:動態即時監控

啟動與介面

top

top 介面

互動熱鍵

按鍵功能
q退出
h說明
M依記憶體排序
P依 CPU 排序 (預設)
T依累積時間排序
1切換 CPU 核心顯示
u篩選使用者
k殺死進程 (輸入 PID + 信號)
r重設優先序 (renice)
c顯示完整命令路徑
W寫入設定檔 (~/.toprc)

進階啟動參數

top -d 2          # 更新間隔 2 秒
top -u username   # 只看某使用者
top -p 123,456    # 只監控指定 PID
top -b -n 1 > top.log  # 批次模式輸出一次 (適合腳本)

3. pstree:父子關係樹狀圖

pstree                # 完整樹狀
pstree -p             # 顯示 PID
pstree -u             # 顯示使用者
pstree -a             # 顯示完整命令參數
pstree username       # 只看某使用者進程樹
pstree -H PID         # 高亮顯示指定 PID 路徑

pstree 輸出

4. 進階替代工具

  • htop:彩色、滑鼠支援、垂直/水平捲動、樹狀 F5、強烈推薦取代 top
  • glances:單畫面整合 CPU/記憶體/磁碟/網路/進程、Web API、跨平台
  • pidstat (sysstat 套件):pidstat -u -p ALL 1 類 vmstat 但針對進程
  • /proc 檔案系統:cat /proc/PID/status、ls -l /proc/PID/fd/ 最底層資訊

5. 實戰排查範例

# 找出佔用 CPU 前 5 的進程
ps aux --sort=-%cpu | head -6

# 找出佔用記憶體前 5
ps aux --sort=-%mem | head -6

# 找出某程式所有執行緒
ps -eLf | grep nginx

# 找出殭屍進程
ps aux | awk '$8 ~ /Z/'

# 監控特定進程 CPU/記憶體趨勢
pidstat -u -r -p $(pgrep -d, -x java) 2 10

結語

ps 適合腳本靜態擷取、top/htop 適合人工即時觀察、pstree 適合理清父子依賴。建議日常主力改用 htop,腳本自動化用 ps + awk,效能分析配合 pidstat 與 /proc 深入溯源。

Copyright © Windows教程網 All Rights Reserved