我正在研究一个项目,用rate monotonic analysis验证一个相当大的程序的多线程执行。要执行分析,我需要每次运行的执行时间以及运行的次数。最后,将对数据进行分析,找出运行的每个线程的平均周期。我收集这些数据的问题有什么解决办法吗?我调查过LTTng和Intel vTune但有一些问题:
1.)LTTV/EclipsePlug计算我需要的平均执行时间吗?
2.)英特尔VTune是否在KVM虚拟机中工作?
开发计算机是一台服务器,它当前直接在硬件上运行RHEL(但使用AMD处理器),但最终将移动到运行在英特尔至强处理器上的虚拟机上。该软件还具有运行的C++和Java可执行文件。
最佳答案
perf
实用程序可用于统计和跟踪kvm内核模块中的性能事件。
http://www.linux-kvm.org/page/Perf_events#Recording_events
使用这样的命令(如果您不是以根用户身份登录,请使用sudo
):
# perf kvm --guest [kvm options] record -a -o my.perf.data
报告结果,就像这样
# perf kvm --guest report -i my.perf.data
关于linux - 速率单调分析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11303620/