我试图用perf捕获组合的用户和内核堆栈,因此我可以看到哪个用户空间代码产生的是特定的内核调用链。 基本上我想创建一个如下所示的火焰图:flamegraph http://www.brendangregg.com/FlameGraphs/example-perf.svg
不幸的是,我的所有内核堆栈都以entry_SYSCALL_64_fastpath
结束,并且没有与用户空间堆栈的连接。
我正在使用perf record -g --call-graph dwarf -F 99 --pid 12345
进行捕获。我有内核,libc和我的程序的调试符号。
这是Fedora 25系统上的内核4.8.14。
答案 0 :(得分:0)
尝试使用bcc
技术的BPF
实用程序。看看profile
util。