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 查看進程執行緒數完整指令集:top、ps、/proc 三大法門

編輯:關於 Linux

Linux 進程可包含多個執行緒,掌握執行緒數對效能調校、死鎖排查至關重要。本文介紹 top -H、ps -eLf、ps -T、/proc//task 四種查看方式,並解析 ps 輸出的狀態碼含義。

執行緒檢視示意圖

指令法一:top -H (動態監控)

top -H
# 每列顯示一個執行緒,而非進程
# 按 H 切換執行緒/進程模式

指令法二:ps -eLf (完整列表)

ps -eLf
# LWP 欄位為執行緒 ID (TID)
# NLWP 欄位為該進程總執行緒數

指令法三:ps -T -p PID (指定進程)

ps -T -p 1234
# SPID 為執行緒 ID

指令法四:/proc 檔案系統 (最底層)

ls /proc/1234/task/ | wc -l   # 直接數目錄數 = 執行緒數
cat /proc/1234/status | grep Threads
# Threads:  42

ps 輸出狀態碼對照表

碼含義
D不可中斷睡眠 (通常為 I/O)
R執行中/可執行 (在佇列中)
S可中斷睡眠 (等待事件/訊號)
T已停止 (收到 SIGSTOP 等)
Z殭屍進程 (父進程未 wait)
<高優先序 (nice < 0)
N低優先序 (nice > 0)
l多執行緒 (CLONE_THREAD)
+前景進程組

善用上述工具,即可快速定位高執行緒進程、發現執行緒洩漏或死鎖疑點。

Copyright © Windows教程網 All Rights Reserved