问题标签 [perf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - perf 是否锁定配置文件用户空间互斥锁?
摘要:是否perf lock
配置pthread_mutex?
详情:
该工具perf
有一个选项perf lock
。手册页说:
但是当我尝试运行时,perf lock record
我收到一条错误消息:invalid or unsupported event: 'lock:lock_acquire'
. 我看了看,似乎错误可能是因为我的内核没有用CONFIG_LOCKDEP
or编译CONFIG_LOCK_STAT
。
我的问题是:是否perf lock
报告与用户空间锁(如 pthread_mutex)或仅内核锁相关的事件?我对主要在用户空间中运行的分析应用程序更感兴趣。我认为 perf 中的这个选项看起来很有趣,但由于我无法在不编译(或获取)新内核的情况下运行它,所以我有兴趣在尝试之前更好地了解它的作用。
perf - zalloc分配内存
我正在通过 linux 内核源代码中的 perf 源代码来了解如何实现用户空间探测。在很多地方,我遇到了这个:
我认为它位于 zlib 库中(对于 fedora 18)。谁能告诉我这个 zalloc 如何帮助分配内存?提前致谢...
linux - 在 Kcachegrind 中打开 perf.data
我在某处读到可以将perf.data
(来自 linuxperf record
分析工具的输出)转换为 kcachegrind 可以解析/绘图的格式,但是我没有找到能够进行这种转换的应用程序,kcachegrind 也没有打开perf.data
。
这可能吗:使用 kcachegrind 查看 perf 输出?我可以使用哪个工具?
android - Linux perf stat 工具返回零指令计数。我在这里想念什么?
我正在尝试在我的新 Galaxy S4 手机上获取一些基本性能数据。我已经编译了一个自定义内核并设法使用 Odin 将其闪存到设备上。这些是与我启用的 perf 工具相关的内核模块:
我还交叉编译了 perf 工具。问题是当我运行以下命令时:
输出似乎不太正确:
我已将 cpu 策略设置为“用户空间”并做了:
为了确保所有内核始终以最大频率工作。
我将不胜感激任何帮助。
以下是没有解决方案的类似案例的链接:http: //lists.linaro.org/pipermail/linaro-kernel/2012-December/002611.html http://forums.arm.com/index.php?/topic/ 15020-pmu-in-cortex-a8-omap-3530-what-am-i-doing-wrong/
相关stackoverflow主题: 如何测量ARM Cortex-A8处理器中的程序执行时间?
linux - 如何在 Linux 中通过 perf 工具捕获 L3 缓存命中和未命中
有没有办法通过 Linux 中的 perf 工具捕获 L3 缓存命中和未命中。根据 的输出perf list cache
,支持 L1 和 LLC 缓存。根据perf的源码中perf_evsel__hw_cache数组的定义:
LLC 是 L2-cache 的别名。我的问题是如何通过 Linux 中的 perf 工具捕获 L3 缓存命中和未命中。提前致谢!
performance - cpu缓存性能。存储未命中与加载未命中
我使用 perf 作为基本事件计数器。我正在开发一个遭受数据缓存存储未命中的程序。其中高达80%的比例。
我知道原则上缓存是如何工作的。它会在各种未命中情况下从内存中加载,并在需要时从缓存中删除数据。我不明白的是,存储加载未命中之间有什么区别。加载和存储有何不同。你怎么能储存小姐?
linux - perf 可以在内核中找到符号,但在我的程序中找不到符号。如何解决?
你可能已经读过这个问题: 如何让性能在我的程序中找到符号
1)我的问题是:
当我使用 perf report 时,它会给出如下结果:
即:性能可以在内核中找到符号,但在我的程序中找不到符号。
我的程序在这里:
2)我已经编译了这样的程序:
gcc test.c -g -o 测试
我的环境:操作系统:ubuntu 内核:3.10.9
linux - perf 注释,只显示源代码
我正在使用 Perf 执行一些分析实验。
但是,我想知道特定代码区域的结果,在这种情况下,查看每行源代码(在这种情况下为 C/C++)的结果(百分比)将简化任务。
perf annotate
有一个显示 ASM+Source Code 的视图,还可以选择关闭显示源代码。我想知道如何完成此选项的另一端,即仅显示源代码 + 每行事件的百分比并隐藏 ASM 输出。这可能perf
吗?
其他工具的建议吗?我也在使用 Vtune,但是我不想做的分析正在工作。Valgrind 是没有问题的,太慢了。
我在运行 Ubuntu 13.04 的 x64 上。
linux-kernel - 这些跟踪事件代表什么?
我刚刚学会了使用 ftrace 和 perf,它们有一些我不理解的共同点——跟踪事件。我猜它们是一些内核内部函数,如果启用它们,ftrace 会在调用它们时记录它们的名称。那正确吗?所有事件都按下面列出的组进行排序。有人能告诉我他们代表什么,或者我可以从哪里获得有关他们的详细信息。谢谢。