我有源代码并且在该代码中启用了多线程。我用 ps -eLf 命令检查了它显示的线程数列表,但我认为负载没有分布在所有线程中。所以我想知道我们如何检查负载是否分布在所有线程中。
根据我的说法,完整的负载将转到单线程。
其实我想提高我的代码的性能。
我使用的是 RHEL5.4 linux 操作系统。编程语言是 C。
如果有人知道,请告诉我......
谢谢
最佳答案
运行这个:
ps -p PID_OF_YOUR_PROCESS -L -o pid,tid,pcpu,state,nlwp,args
你会看到这样的输出:
PID TID %CPU S NLWP COMMAND
2305 2305 3.5 S 5 /usr/bin/cinnamon
2305 2325 0.0 S 5 /usr/bin/cinnamon
2305 2326 0.0 S 5 /usr/bin/cinnamon
2305 2327 0.0 S 5 /usr/bin/cinnamon
2305 2721 0.0 S 5 /usr/bin/cinnamon
TID 是线程 ID。您可以看到每个线程的 cpu 百分比。
希望这能回答您的问题。
关于c - 我们如何检查我们的程序多线程是否在我们的程序中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12119686/