在 Ubuntu 系统中,查看和分析线程的常用命令有多个,以下是详细总结和示例:
1. top
命令(实时监控)
- 用法:直接运行
top
,默认按 CPU 使用率排序进程。 - 查看线程:
- 启动时添加
-H
选项:top -H
,直接显示线程列表。 - 在
top
运行界面,按H
键切换至线程级别视图,按q
键退出。
- 启动时添加
- 优势:实时动态刷新,适合快速查看资源占用高的线程。
2. ps
命令(静态列表)
- 用法:组合选项列出线程详细信息。
- 所有线程:
ps -eLf
(-e
显示所有进程,-L
列出线程,-f
全格式)。 - 指定进程的线程:
ps -T -p <PID>
(如ps -T -p 1234
)。
- 所有线程:
- 输出字段:
LWP
:线程 ID(Light Weight Process)。NLWP
:进程中的线程总数。
- 示例:
ps -eLf | grep "firefox" # 列出所有包含 "firefox" 的线程
3. htop
命令(增强版监控)
- 安装:若未安装,运行
sudo apt install htop
。 - 用法:启动后按
F2
进入设置,启用Show custom thread names
显示线程名。 - 查看线程:
- 按
H
键切换至线程视图,支持鼠标交互(如排序、终止线程)。
- 按
- 优势:比
top
更友好,支持颜色高亮和自定义字段。
4. pstree
命令(树状结构)
- 用法:以树状图显示进程与线程关系。
- 显示线程:
pstree -T
(-T
显示线程)。 - 指定进程:
pstree -T -p <PID>
(如pstree -T -p 1234
)。
- 显示线程:
- 示例:
pstree -T -p 1234 # 显示 PID 为 1234 的进程的线程树
5. pidstat
命令(性能统计)
- 安装:从
sysstat
包安装,运行sudo apt install sysstat
。 - 用法:监控线程的 CPU 使用情况。
- 显示线程统计:
pidstat -t -p <PID>
(如pidstat -t -p 1234
)。
- 显示线程统计:
- 输出字段:
TID
(线程 ID)、%CPU
、%MEM
等。
6. 其他工具
/proc
文件系统:- 查看进程的线程数:
ls /proc/<PID>/task | wc -l
。
- 查看进程的线程数:
gdb
和strace
:- 主要用于调试,但可通过附加到进程查看线程信息(如
gdb -p <PID>
)。
- 主要用于调试,但可通过附加到进程查看线程信息(如
总结场景推荐
需求 | 推荐命令 |
---|---|
实时监控线程资源占用 | top -H 或 htop |
获取静态线程列表 | ps -eLf |
查看线程关系树 | pstree -T |
分析线程性能统计 | pidstat -t |
根据需求选择合适的工具,可高效诊断线程相关问题。