我想要做的是创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库的常用函数的调用,并报告统计信息,如花费在锁定,条件变量等等上的典型时间…目前不能导出跟踪,只有文本摘要报告。