直接按大写h键切换top线程模式,顶部tasks行的total值即为系统当前全部线程数;也可用top -h -n 1命令一次性获取,或加-p参数监控指定进程的线程数。

直接用 top 查看系统总线程数,最简单的方法是启动后按 H 键切换到线程模式,顶部 Tasks 行里的 total 值就是当前全部线程数量。
进入线程视图看全局总数
运行 top 后,按下键盘大写 H(注意是大写,需配合 Shift 或 Caps Lock),界面会立刻切换为线程粒度显示。此时顶部第二行类似:
其中 1245 total 就是当前系统所有线程的总数,包括用户态和内核态线程。这个数值实时刷新,退出按 q 即可。
用 top -H 一次性查看并退出
不想进入交互界面?可以直接加 -H 参数启动,它默认启用线程模式:
-
top -H -n 1:只刷新一次就退出,适合脚本或快速检查 -
top -H -d 2 -n 3:每 2 秒刷新一次,共显示 3 次 - 输出中 PID 列实际是线程 ID(LWP),不是进程 ID
只盯某个进程的线程数
如果只想知道某一个进程起了多少线程,用 -p 限定 PID:
- 先查进程号:
pidof nginx或pgrep -f "java MyApp" - 再监控它的线程:
top -H -p $(pidof nginx) - 此时底部列表只显示该进程下的所有线程,顶部 Tasks 行的 total 就是它自己的线程数
注意 Tasks 行和负载的区别
别把 Tasks: xxx total 和 load average 搞混:
- Tasks total 是当前存活线程总数(含 sleep、running 等状态)
- load average 是单位时间处于 runnable 或 uninterruptible 状态的平均进程/线程数,反映的是系统压力趋势
- 两者数值通常接近但不相等;线程数突增可能预示资源泄漏或异常 fork











