gpt4 book ai didi

performance - 性能报告在 0xffffffffffffffff 处的功能

转载 作者:行者123 更新时间:2023-12-04 15:03:49 24 4
gpt4 key购买 nike

我正在尝试了解 myApp 非常忙的事情(90% cpu 单线程)。这是一个我不应该重新启动的服务器。我收集了样本

perf record -p 5068 -F 99 --call-graph dwarf sleep 10
perf report给我这个:
+  100.00%     0.00%  myApp    [unknown]              [.] 0xffffffffffffffff                                                                                                                           ◆
+ 80.67% 0.67% myApp myApp [.] pipeline_run ▒
+ 67.71% 0.00% myApp myApp [.] QueryProcessor::process
我花了一些时间谷歌搜索和阅读文档,我怀疑 0xffffffffffffffff 无法解析,因为 perf不知道堆栈底部在哪里,因为它没有启动该过程。但是有人可以确认或指出我正确的方向吗?

最佳答案

就我而言,这是由 perf 引起的使用太小的堆栈转储大小。这将导致截断堆栈的底部变为 0xffffffffffffffff ,这将使 perf report和 friend 认为的功能0xffffffffffffffff被大量使用。
当我使用最大堆栈转储捕获大小时,我摆脱了大部分0xffffffffffffffff .如果您通过 --call-graph dwarf默认堆栈转储大小 8192将会被使用。要最大化它,请更改为 --call-graph dwarf,65528 .
来自 perf record --help :

    When "dwarf" recording is used, perf also records (user) stack dump
when sampled. Default size of the stack dump is 8192 (bytes).
User can change the size by passing the size after comma like
"--call-graph dwarf,4096".
如果您尝试使用大于 65528 的值你得到
callchain: Incorrect stack dump size (max 65528): 128000

关于performance - 性能报告在 0xffffffffffffffff 处的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66507213/

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