我正在树视图中的 htop 中观察多线程进程。如果我只将其剥离到有问题的部分,它看起来有点像这样:
CPU%
bin/process 100
`- thread1 70
`- thread2 0
该进程总共使用 100%,其中一个线程使用 70%。剩下的 30% 我该放在哪里?
答案1
thread1
和thread2
是由主进程生成的子线程,但主进程仍然可以工作。
在 htop 的输出中bin/process
(以及所有子线程)正在使用 100% 的 cpu。 70% 的 cpu 由thread1
和 0%使用thread2
,剩余的(差异)是生成/管理这些子线程的主进程。
答案2
线程同一行的第一列(最左边)将显示线程的 ID。grep
输出中的线程 ID ps -eLf
,您将看到该线程。
请记住,您必须使用选项-eLF
将线程包含在输出中。
从man ps
:
-L Show threads, possibly with LWP and NLWP columns