gpt4 book ai didi

linux - 如何从分析器中获取每个样本的完整堆栈转储以用于火焰图?

转载 作者:IT王子 更新时间:2023-10-29 01:02:44 24 4
gpt4 key购买 nike

我真的很喜欢 Flame Graph 的想法用于分析,因为它将有助于消除不需要的函数调用。但是有一个问题,它要求探查器在每次收集样本时都执行完整的堆栈转储。这可以使用 DTrace 或 SystemTap 很容易地完成,但我需要能够在运行 ubuntu(消除 DTrace)的 ARM 设备上执行此操作。我也想在不重新编译内核的情况下执行此操作(这消除了 SystemTap)。

是否有可能让 Valgrind/Callgrind 或 OProfile(或其他一些可以在 Ubuntu 中的 ARM 设备上运行的分析工具)输出类似于:
dtrace -n 'profile-1001/pid == 12345 && arg1/{ @[ustack()] = count(); }

最佳答案

试试 Linux perf_events(又名“perf”命令),它是主线 Linux 内核的一部分,通常通过 linux-tools-common(或类似)包安装。我经常用它在 Linux 上创建火焰图。

我写了一些使用 perf on 创建火焰图的说明:http://www.brendangregg.com/perf.html#FlameGraphs

关于linux - 如何从分析器中获取每个样本的完整堆栈转储以用于火焰图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10333376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com