跟踪线程调度

我想要做的是创build一些graphics,详细描述Linux中(两个)线程的执行情况。 我不需要看看线程在做什么,只是在计划时间和时间长短的基础上。

我花了几个小时在互联网上寻找一种方法来跟踪pthreads的调度。 不幸的是,我发现的两个项目需要内核重新编译( LTTng )或glibc修补(NPTL跟踪工具) ,这两者我都做不到(我没有sudo权限的大型集中pipe理系统)。

有没有其他的方式来做这样的事情,或者我将不得不求助于find一台笔记本电脑,我可以补丁/重新编译任何我想要的?

最好的祝福

PS:我会链接到这两个项目,但该网站不允许我(声望<10)。 谷歌的项目名称上的第一个search结果是正确的。

不需要超级用户权限来构建检测的glibc / libpthread.so。 作为NPTL Trace Tool一部分的ptt_trace程序将使用仪器化的库运行您的程序。

也许像英特尔的VTune ?

还有一个名为pthreadw的工具(在sourceforge上)

它是一个包装库,它拦截对pthread库的常用函数的调用,并报告统计信息,如花费在锁定,条件变量等等上的典型时间…目前不能导出跟踪,只有文本摘要报告。