找出短期运行程序创建的线程数

时间:2010-04-15 08:15:43

标签: linux profiling multithreading pthreads

我的程序运行得足够快。我想看看程序创建的线程数。

ldd test

显示了库pthread的使用。但是如何找出程序创建的线程数。我只能对运行程序的PC进行命令行访问。 该平台是linux。

2 个答案:

答案 0 :(得分:3)

也许使用strace并捕获克隆的调用?

# strace -f -e trace=clone test

它应该指示测试创建的过程。

答案 1 :(得分:1)

使用LD_PRELOAD,您应该能够将pthread_create足够地包裹起来,以便在每次输入时将其记录到某处。但是,该方法存在缺陷,因为它可能会在程序中引入(或暴露)不会发生的竞争,可能会导致创建更多或更少的线程。

只是在程序中跟踪这个(即如果调试版本)不是一个选项吗?