jjzjj

android - Linux perf stat 工具返回零指令计数。我在这里错过了什么?

我正在尝试获取我的新GalaxyS4手机的一些基本性能数据。我已经编译了一个自定义内核并设法使用Odin将其闪存到设备上。这些是我启用的与perf工具相关的内核模块:CONFIG_HAVE_PERF_EVENTS=yCONFIG_PERF_USE_VMALLOC=yCONFIG_PERF_EVENTS=yCONFIG_PERF_COUNTERS=y我还交叉编译了perf工具。问题是当我运行以下命令时:perfstatls输出似乎不太正确:Performancecounterstatsfor'ls':10887392cycles#0.000Ghz0instructions#0.00ins

linux - 可以从 perf.data 文件生成 perf-stat 结果吗?

当我想使用Linux工具套件中的perf-stat和perf-report生成性能报告时perf,我跑:$perfrecord-omy.perf.datamyCmd$perfreport-imy.perf.data和:$perfstatmyCmd但这意味着我要第二次运行“myCmd”,这需要几分钟时间。相反,我希望:$perfstat-imy.perf.data但与perf套件中的大多数工具不同,我没有看到perf-stat的-i选项。是否有其他工具,或者有办法让perf-report生成与perf-stat类似的输出? 最佳答案

linux - 可以从 perf.data 文件生成 perf-stat 结果吗?

当我想使用Linux工具套件中的perf-stat和perf-report生成性能报告时perf,我跑:$perfrecord-omy.perf.datamyCmd$perfreport-imy.perf.data和:$perfstatmyCmd但这意味着我要第二次运行“myCmd”,这需要几分钟时间。相反,我希望:$perfstat-imy.perf.data但与perf套件中的大多数工具不同,我没有看到perf-stat的-i选项。是否有其他工具,或者有办法让perf-report生成与perf-stat类似的输出? 最佳答案

linux - 什么是锁步采样?

我在几篇关于分析应用程序的帖子中看到过这个术语,但我不明白它的实际含义以及它如何影响分析结果。我看过herefordtrace:Therateisalsoincreasedto199Hertz,ascapturingkernelstacksismuchlessexpensivethanuser-levelstacks.Theoddnumberedrates,99and199,areusedtoavoidsamplinginlockstepwithotheractivityandproducingmisleadingresults.Hereforperf:-F99:sampleat99H

linux - 什么是锁步采样?

我在几篇关于分析应用程序的帖子中看到过这个术语,但我不明白它的实际含义以及它如何影响分析结果。我看过herefordtrace:Therateisalsoincreasedto199Hertz,ascapturingkernelstacksismuchlessexpensivethanuser-levelstacks.Theoddnumberedrates,99and199,areusedtoavoidsamplinginlockstepwithotheractivityandproducingmisleadingresults.Hereforperf:-F99:sampleat99H

linux - 使用 perf 监控原始事件计数器

我正在尝试测量具有多个(物理)处理器的(英特尔至强)机器上的某些硬件事件。具体来说,我想知道为读取“offcore”数据发出了多少请求。我找到了theOFFCORE_REQUESTS英特尔文档中的硬件事件,它给出了事件描述符0xB0和数据需求,附加掩码0x01。然后告诉perf记录事件0xB1(即0xB0|0x01)并将其称为:是否正确?perfrecord-er0B1./mytestappsomeargs或者这是不正确的?因为perfreport没有显示像这样输入的事件的输出。除了tutorialentry之外,这方面的perf文档相当稀疏。它没有说明它是哪个事件(虽然这个对我有用)

linux - 使用 perf 监控原始事件计数器

我正在尝试测量具有多个(物理)处理器的(英特尔至强)机器上的某些硬件事件。具体来说,我想知道为读取“offcore”数据发出了多少请求。我找到了theOFFCORE_REQUESTS英特尔文档中的硬件事件,它给出了事件描述符0xB0和数据需求,附加掩码0x01。然后告诉perf记录事件0xB1(即0xB0|0x01)并将其称为:是否正确?perfrecord-er0B1./mytestappsomeargs或者这是不正确的?因为perfreport没有显示像这样输入的事件的输出。除了tutorialentry之外,这方面的perf文档相当稀疏。它没有说明它是哪个事件(虽然这个对我有用)

Android Systrace 跟踪文件格式

Androidsystrace工具,通过ADB调用atrace工具。但是,我不太了解跟踪文件的格式。显然它与linuxftrace工具非常相似,但有一些不同。主要区别在于它不使用System.Map文件,而是将所有信息包含到跟踪文件中。此外,还有特定于android的新B|E条目。Android源代码中有关于此格式的一些信息:http://androidxref.com/4.1.1/xref/external/chromium-trace/src/tracing/linux_perf_importer.js但是,在该文档中我们可以读到该格式属于LinuxPerf工具。我不这么认为,li

Android Systrace 跟踪文件格式

Androidsystrace工具,通过ADB调用atrace工具。但是,我不太了解跟踪文件的格式。显然它与linuxftrace工具非常相似,但有一些不同。主要区别在于它不使用System.Map文件,而是将所有信息包含到跟踪文件中。此外,还有特定于android的新B|E条目。Android源代码中有关于此格式的一些信息:http://androidxref.com/4.1.1/xref/external/chromium-trace/src/tracing/linux_perf_importer.js但是,在该文档中我们可以读到该格式属于LinuxPerf工具。我不这么认为,li

c++ - 如何使用 linux perf 获取 libc6 符号(例如 _int_malloc)的调用父项?

我正在使用linuxperf分析一个C++应用程序,并且我使用GProf2dot得到了一个很好的控制流图.但是,C库(libc6-2.13.so)中的一些符号占用了总时间的很大一部分,但没有边。例如:_int_malloc占用了8%的时间,但没有调用parents。__strcmp_sse42和__cxxabiv1::__si_class_type_info::__do_dyncast一起占用了大约10%的时间,并且调用者的名字是0,它有调用者2d6935c、2cc748c和没有调用者的6。因此,我无法仅使用perf找出哪些例程负责所有这些分配和动态转换。但是,似乎其他符号(例如mal