Linux系统如何查看进程的线程数

上周,我在Linux系统中使用ps命令查看firefox进程的线程数。
首先找到firefox的进程pid,发现是3 1 6 8 然后,继续查看进程的线程数和线程ID。
NLWP 列显示线程数为 5 0,LWP 列显示每个线程的 ID。
这很有趣。
Firefox 中的线程非常多,看起来相当繁忙。
顺便问一下,你用Linux吗?

[Linux概念学习]2 查看线程的命令

哦,我们来谈谈Linux下的线程。
这件事对我来说已经很熟悉了。
记得有一次,我帮朋友调试Java程序。
该程序在 Linux 服务器上运行。
结果CPU使用率突然升高。
一看,原来是线有问题。

当时我用的是ps命令,具体来说就是ps -eLf。
哇,这个命令一启动,所有线程的信息包括线程ID、进程ID、所在进程都输出了,一目了然。
我看到java进程下的线程ID是3 1 5 05 ,然后我开始调查。

后来我意识到我需要检查特定进程的线程,所以 ps -eLf | grep 3 1 5 05 使用该命令后,仅显示该java进程下的线程。
后来我用了ps -T -p 3 1 5 05 ,这个命令比较简洁,直接显示该进程的线程列表。

然后我想查看该线程的CPU使用率,所以我使用了上面的-H -p 3 1 5 05 一旦启动这个命令,就会动态监控该进程中每个线程的CPU使用情况,一目了然。

最后我想看看线程层次结构,所以这个命令一启动我就使用了 pstree -p 3 1 5 05 ,哇,线程和进程层次结构一目了然,就像一棵清晰的树。

这次活动给我留下了深刻的印象。
如果以后我遇到类似的问题,我知道该怎么做。
不过话虽如此,我还是需要强化一下线程组(ThreadGroup)和进程组(pgid)的概念。
这方面我还需要多做研究,毕竟实践出真知。