Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 跟踪pthread调度_Linux_Multithreading_Trace - Fatal编程技术网

Linux 跟踪pthread调度

Linux 跟踪pthread调度,linux,multithreading,trace,Linux,Multithreading,Trace,我想做的是创建某种图形,详细说明Linux中(两个)线程的执行情况。我不需要看线程做什么,仅仅是它们被调度的时间和长度,基本上是一条时间线 我花了几个小时在互联网上搜索跟踪pthreads调度的方法。不幸的是,我发现的两个项目需要内核重新编译()或glibc补丁,这两个我都做不到(大型、集中管理的系统,我没有sudo权限) 有没有其他方法可以做到这一点,或者我必须找到一台笔记本电脑,在上面我可以修补/重新编译任何我想要的东西 致意 PS:我会链接到这两个项目,但网站不允许我(声誉

我想做的是创建某种图形,详细说明Linux中(两个)线程的执行情况。我不需要看线程做什么,仅仅是它们被调度的时间和长度,基本上是一条时间线

我花了几个小时在互联网上搜索跟踪pthreads调度的方法。不幸的是,我发现的两个项目需要内核重新编译()或glibc补丁,这两个我都做不到(大型、集中管理的系统,我没有sudo权限)

有没有其他方法可以做到这一点,或者我必须找到一台笔记本电脑,在上面我可以修补/重新编译任何我想要的东西

致意


PS:我会链接到这两个项目,但网站不允许我(声誉<10)。不过,在Google上搜索项目名称的第一个结果是正确的。

构建插入指令的glibc/libpthread.so不需要超级用户权限。作为的一部分的程序将使用插入指令的库运行您的程序。

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

它是一个包装器库,它截取对pthread库的常用函数的调用,并报告统计数据,比如使用锁、条件变量等的典型时间。。。
它目前无法导出跟踪,只能导出文本摘要报告。

这看起来很有希望,我会记住这一点,以备将来我买得起软件包时使用。我只是尝试了评估版本,除非我忽略了什么,否则无法获得Linux版本中线程的图形跟踪,真可惜。基本上Linux版本是Helgrind()的一个昂贵版本。这很遗憾-我从未尝试过,但觉得它看起来很有趣-图表很漂亮,但是如果Linux版本不能生成它们,那么它就不是很有趣。谢谢你提到这一点。我又看了一眼NPTLTT,但似乎该项目自2006年以来就没有进行过,修补新的glibc版本似乎也不起作用。