gpt4 book ai didi

c++ - perf 如何采样内核堆栈?

转载 作者:行者123 更新时间:2023-11-28 04:25:28 31 4
gpt4 key购买 nike

据我所知,perf 能够为每个进程/线程采样完整的调用堆栈,即使它当前在内核中也是如此。由于 perf 在我假设的用户空间中运行,我想知道它如何访问不同进程/线程的堆栈的内核部分。

目的是编写一个可以对其他进程/线程的调用堆栈进行采样的应用程序,即使它们当前在内核中也是如此。

问候

最佳答案

perf 由两部分组成。用户空间工具和 perf_event_open 系统调用。

一般情况下,栈采样是由内核通过syscall来完成的。您可以编写一个还使用 perf_event_open 的应用程序- 默认情况下包含内核样本 (exclude_kernel==0)。

关于c++ - perf 如何采样内核堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54443345/

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