【问题标题】:What is the best way to get the most useful output from oprofile?从 oprofile 获得最有用的输出的最佳方法是什么?
【发布时间】:2010-11-25 06:49:44
【问题描述】:

使用以下工具:

  • 报告
  • 操作控制
  • 注释

我开始使用这个工具并试图找到最好的组合,例子来获得 最有效的分析。

谢谢

【问题讨论】:

  • “最好”的含义总是依赖于“好”的含义,而这并不总是显而易见的。你能描述一下你在寻找什么好东西吗?

标签: c optimization oprofile


【解决方案1】:

gprof2dot 是最出色的个人资料数据可视化工具。

opcontrol --shutdown
opcontrol --callgraph=7
opcontrol --image=<abs/path/to/your/execuable>
opcontrol --start

... time passes ...

opcontrol --dump
opreport -c > profile_info.txt
gprof2dot.py -f oprofile --strip profile_info.txt | dot -Tsvg > profile_graph.svg
inkscape profile_graph.svg

gprof2dot--skew 选项在深入了解实际问题代码时非常好。

请记住,如果您手动将事件计数器设置为较低的数字,则无法设置调用图。默认情况下,使用--callgraph 选项时,最小计数器是--list-events 中列出的计数器的 15 倍


编辑:示例截图:

降低分辨率以避免泄露机密数据,但你明白了。

【讨论】:

  • 你觉得它比KCachegrind好吗?有截图吗?
  • @NathanKidd:我在这里有关于 gprof2dot 的更完整答案:stackoverflow.com/a/4453999/28817
  • 我上传了一张截图。非常感谢这个工具!
【解决方案2】:

看看KCachegrind - 这是一个档案数据可视化工具。

KCachegrind 可视化由Callgrind profiler 工具生成的数据文件。但是使用conversion scriptsKCachegrind 能够可视化其他分析器的输出,例如OProfile

当您使用包管理器(yum、apt-get 等)安装 KCachegrind 时,您会得到一个名为 op2calltree 的工具,它将 Oprofile 的输出转换为 KCachegrind 的格式。

【讨论】:

    猜你喜欢
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多