1

我有源代码,并且在该代码中启用了多线程。我用 ps -eLf 命令检查了它显示的线程数列表,但我认为加载它没有分布在所有线程中。所以我想知道我们如何检查负载是否分布在所有线程中。

根据我的完整负载将单线程。

其实我想提高我的代码的性能。

我正在使用 RHEL5.4 linux 操作系统。编程语言是C。

如果有人知道,请告诉我......

谢谢

4

2 回答 2

2

运行这个:

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百分比。

希望能回答你的问题。

于 2012-08-25T06:20:56.540 回答
0

使用top' 选项H会有所帮助。

详情请参阅man top

于 2012-08-25T07:28:20.607 回答