使用 PID 记录进程的 perf 不起作用

使用 PID 记录进程的 perf 不起作用

当我使用 perf 进行性能分析时,通常这是有效的:

perf record -g -F99 $BINARY_NAME

完成后,命令显示:

[ perf record: Captured and wrote 0.006 MB output.data (37 samples) ]

我可以使用读取捕获的堆栈跟踪perf script

但是,我的程序正在执行异步网络,并且如果它连接的服务器处于离线状态(我的程序收到“没有到主机的路由(操作系统错误 113)”,并处理它们,并尝试再次连接。),性能命令无法收集样本:

[ perf record: Captured and wrote 0.006 MB output.data ]

当使用 检查时perf script,它不会输出任何内容。当服务器在线时,一切正常。

我的程序是用 Rust 编写的本机二进制文件。有什么想法为什么会发生这种情况吗?

相关内容