Linux 中进程函数的时间消耗



我们正在将应用程序从 solaris 移植到 linux。Linux 应用程序中很少有工作流比 Solaris 应用程序花费更多的时间。我使用 solaris studio 探查器在函数级别进行分析,这使我在每个函数上都消耗了时间。但是在 linux 中,我探索了 perf 工具,我找不到如何将 perf 附加到正在运行的应用程序,也没有找到任何将打印进程每个功能所消耗时间的命令。提前谢谢。

附加到进程是通过使用perf record中的-p选项完成的(从man perf-record(:

-p, --pid=
Record events on existing process ID (comma separated list).

因此,假设您的进程具有 ID 12345,您可以使用 (使用-g启用调用图(:

perf record -g -p 12345

然后,Perf 将在进程终止时自动写入perf.data。然后,您可以通过调用来检查文件

perf report

我希望这有所帮助。

最新更新