在 CentOS 7 中,若 pstree命令不可用或异常,可通过以下方法查看当前已用线程数:
一、所有线程
1. 使用 ps命令统计所有线程
bash
ps -eLf | wc -l
-
• 说明:
-
•
-e:列出所有进程 -
•
-L:显示线程信息 -
•
-f:完整格式输出 -
•
wc -l:统计行数(每个线程占一行)
-
-
示例输出:
bash12345
2. 通过 /proc文件系统统计
bash
ls /proc/*/task | wc -l
-
• 说明:
-
•
/proc/[pid]/task目录包含进程的所有线程 -
•
ls列出所有线程目录,wc -l统计总数
-
3. 使用 top命令动态查看
bash
top -H -p 1234,5678
-
• 说明:
- 用逗号分隔多个 PID。
二、针对特定进程的线程数查询
1. 查看指定进程的线程数
bash
ps -T -p <PID> | wc -l
-
• 示例 :查看 PID 为
1234的进程线程数bashps -T -p 1234 | wc -l
2. 通过 /proc/[pid]/status文件
bash
cat /proc/<PID>/status | grep Threads
-
• 输出示例:
bashThreads: 25
三、系统级线程数限制与监控
1. 查看系统支持的最大线程数
bash
cat /proc/sys/kernel/threads-max
- • 说明:理论最大值(默认约 14,553)
2. 查看用户级线程数限制
bash
ulimit -u
- • 说明:单个用户可创建的最大线程数(默认 32,768)