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、pstree、top 實戰指南

編輯:Linux 教學

進程管理是 Linux 系統運維的核心技能。ps、pstree、top 三大經典工具各有專長:ps 靜態快照、pstree 樹狀關係、top 動態監控。本文系統講解三大工具核心參數、輸出解讀與實戰組合技巧。

ps:靜態進程快照

核心選項分類

類別選項功能
進程選擇-e / -A所有進程
-a所有終端機的進程(除 session leader)
x無控制終端機的進程(守護進程)
輸出格式fASCII 藝術樹狀顯示
l長格式(詳細資訊)
j作業控制格式
u用戶導向格式(含 CPU/記憶體%)
o用戶自定義格式 -o pid,cmd,%cpu
常用組合auxBSD 風格:所有進程 + 用戶格式 + 無終端機
efSystem V 風格:所有進程 + 樹狀
-C cmd按命令名過濾

核心輸出欄位解析 ps aux

欄位含義關注重點
USER啟動進程的用戶權限歸屬
PID進程 ID唯一標識,殺進程依據
%CPUCPU 使用率(佔用時間/總時間)高佔用進程定位
%MEM記憶體使用率記憶體洩漏定位
VSZ虛擬記憶體大小 (KB)包含保留未用空間
RSS常駐集合大小 (KB)實際物理記憶體佔用
TTY控制終端機? 表示無終端機(守護進程)
STAT進程狀態碼見下表
START啟動時間長期運行進程排查
TIME累計 CPU 時間高佔用進程累計負載
COMMAND啟動命令含參數完整命令列

STAT 狀態碼詳解

碼含義常見場景
RRunning/Runnable正在運行或等待 CPU
SSleeping可中斷睡眠,等待事件
DDisk Sleep不可中斷睡眠(通常等待 I/O)
TStopped被 job control 停止或被追蹤
ZZombie殭屍進程,父進程未回收
<High Priority高優先級(nice < 0)
NLow Priority低優先級(nice > 0)
LLocked Pages鎖定記憶體頁面(實時/鎖頁)
lMulti-threaded多執行緒進程
+Foreground前台進程組

常用組合範例

# 經典:所有進程完整資訊
ps aux

# 系統 V 風格樹狀
ps -ef

# 自定義輸出:PID、CPU%、記憶體%、命令
ps -eo pid,pcpu,pmem,cmd --sort=-pcpu | head -20

# 查看特定程式(如 httpd)詳細資訊
ps -C httpd -o pid,ppid,user,pcpu,pmem,vsz,rss,cmd

# 只看當前用戶進程
ps -u $(whoami) -o pid,pcpu,pmem,cmd

# 線程級視圖
ps -eLf | grep process_name

pstree:進程關係樹狀圖

核心選項

選項功能
-p顯示 PID
-u顯示用戶名
-a顯示完整命令行參數
-A使用 ASCII 字符繪製樹狀(兼容終端)
-n按 PID 排序(預設按名稱)
-h高亮當前進程祖先鏈
-H PID高亮指定 PID 祖先鏈

常用組合

# 完整樹狀圖:PID + 用戶 + 完整命令 + ASCII
pstree -Aup

# 高亮當前 Shell 祖先鏈
pstree -Aup -h

# 高亮指定 PID 祖先
pstree -Aup -H 1234

# 只看特定用戶樹
pstree -Aup -u www-data

top:動態效能監控儀表板

啟動選項

選項功能
-d sec刷新間隔(秒,預設 3.0)
-n num更新次數(預設無限)
-b批次模式(適合腳本/重導向)
-u user只顯示指定用戶進程
-p PID監控指定 PID
-H顯示線程
-c顯示完整命令行

互動熱鍵速查表

按鍵功能
排序/視圖
P按 %CPU 排序(預設)
M按 %MEM 排序
N按 PID 排序
T按 TIME+ 排序
>/<排序欄位右移/左移
f/F進入欄位管理(新增/刪除/排序欄位)
篩選/操作
u篩選用戶
k殺死進程(輸入 PID + 信號,預設 SIGTERM=15)
r重新設定 nice 值
i切換顯示 idle/zombie 進程
x/y高亮排序欄位/運行進程
顯示切換
c切換命令名/完整命令行
l切換負載/uptime 顯示
t切換 CPU/任務摘要顯示
m切換記憶體摘要顯示
1切換單核/總體 CPU 顯示
配置/幫助
W寫入配置到 ~/.toprc
h/?幫助
q退出

進階視圖配置

# 進入 f 選單後:
# 使用 ↑↓ 選擇欄位,Space 選中/取消,s 設為排序欄位
# 常用顯示欄位:PID, USER, PR, NI, VIRT, RES, SHR, S, %CPU, %MEM, TIME+, COMMAND
# 推薦顯示:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

三大工具對比與選用指南

工具特性適用場景局限
ps靜態快照、豐富格式、腳本友善腳本自動化、精確欄位提取、靜態審計無動態更新、無樹狀關係(需 -f)
pstree父子關係可視化、極簡輸出理解進程祖先鏈、找父進程、容器 PID 1 排查無資源佔用資訊、無互動
top動態即時、互動操作、綜合資源視圖即時效能監控、現場排查、資源佔用排序終端佔用、非腳本友善、歷史無記錄

現代替代工具推薦

  • htop:彩色互動、滾動、樹狀、滑鼠支援、進程詳情面板
  • btop / bpytop:現代化 UI、圖表、GPU/網路/磁碟面板
  • glances:跨平台、Web API、匯出、Client/Server 模式
  • pidstat:sysstat 套件,進程級歷史統計,適合腳本
  • atop:歷史記錄、永久日誌、進程級資源會計

進程狀態排查速查表

現象STAT可能原因排查工具
高 CPU 佔用R計算密集/死循環top, perf top, strace
不可中斷睡眠DI/O 等待、NFS 掛載失敗、驅動 Bugiostat, dmesg, strace
殭屍進程Z父進程未 wait()ps -eo ppid,pid,stat,cmd | grep Z
高優先級搶佔<nice < 0,實時進程ps -eo ni,cmd | sort -n
記憶體增長R/S記憶體洩漏pmap -x PID, valgrind

總結

ps 精準切片、pstree 關係可視、top 動態監控——三大工具互補,構成進程管理鐵三角。現代運維建議:日常監控用 htop/btop、腳本自動化用 ps/pidstat、關係排查用 pstree、歷史分析用 atop。熟練掌握 STAT 狀態碼、%CPU/%MEM 佔用分析、top 互動熱鍵,能讓您在生產故障現場快速定位問題進程,從容應對各類效能事故。

Copyright © Windows教程網 All Rights Reserved