我需要查看多线程程序的负载均衡特性。是否有任何工具可以向我提供信息,例如情节这个?例如,我需要一些简单的东西来为我提供每个核心的信息,但不是英特尔VTune等等......如此臃肿甚至看起来都很痛苦。
答案 0 :(得分:3)
看一下Linux Trace Toolkit - next generation,您也可以使用Gnu gprof
它不性感,但它可以做到这一点:)
编辑:
您可以在线程环境中使用gprof
:Using gprof with pthreads
EDIT2:Oprofile也可以提供帮助
答案 1 :(得分:2)
我只是触及了AMD CodeAnalyst的功能表面,但到目前为止我所发现的是令人印象深刻的,特别是所有的性能计数器,并将它们纳入详细的图片。至于每线程分析,我主要编写大量并行应用程序,这些应用程序在专用内核上运行很长一段时间,可能不适合你的东西。
就其自身的CPU需求而言,它显得相当吝啬。我不知道它是否会在intel CPU上进行分析。有一个Linux版本。
给它一个旋转!
答案 2 :(得分:0)
您还可以使用perf
,这是支持Linux内核中性能计数器的官方实现。除了读取性能计数器外,它还允许访问其他一些指标,如上下文切换,CPU迁移,页面错误等。
不幸的是,官方维基不包含太多信息。但您可以查看this page以获取有关如何使用perf。
中包含的不同工具的更多信息答案 3 :(得分:0)
对于研究主题,我使用了以下命令:
ps -AL -o lwp,fname,psr | grep ammp
正在研究的应用程序是 ammp ,它使用与核心相同数量的线程。该命令返回每个线程的核心。多次执行此命令,您将看到给定线程如何在核心中移动以及负载平衡算法如何工作。
我希望你觉得有用。