我正在尝试在流程中实现各个功能的性能。我该如何使用 perf 工具来做到这一点?还有其他工具吗?
例如,假设 main 函数调用函数 A 、 B 、 C 。我想分别获得主要功能以及功能 A、B、C 的性能。
有没有一个很好的文档来了解 perf 源代码?
谢谢。
您想要做的是用户空间探测。 Perf只能做一部分。
尝试sudo perf top -p [pid]
然后观看记分牌。它将显示按 CPU 使用率排序的函数列表。以下是基准测试期间 Redis 的快照:
如果你想获得用户层功能的更多信息,例如 IO 使用情况、延迟、内存使用情况,我强烈建议你使用 Systemtap。它既是脚本语言,也是在基于 Linux 内核的操作系统上分析程序的工具。这是一个关于它的教程:
http://qqibrow.github.io/performance-profiling-with-systemtap/ http://qqibrow.github.io/performance-profiling-with-systemtap/
而且您不需要成为 systemtap 脚本编写专家,网上有很多好的脚本适合您。
例如,有一个关于使用它来找出特定功能的延迟的示例。
https://github.com/openresty/stapxx#func-latency-distr https://github.com/openresty/stapxx#func-latency-distr
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)