性能分析与追踪及实时编程指南
1. 性能分析与追踪工具
在Linux系统中,有许多工具可用于性能分析和追踪,下面为你介绍一些常用工具。
1.1 Valgrind
Valgrind是一个强大的工具,可用于识别内存问题,还具备其他用于应用程序性能分析的工具,这里着重介绍Callgrind和Helgrind。
- Callgrind :
- 它是一个生成调用图的分析器,能收集处理器缓存命中率和分支预测信息。不过,只有当性能瓶颈是CPU限制时,Callgrind才有用;若涉及大量I/O或多个进程,它的作用就不大了。
- Valgrind不需要内核配置,但需要调试符号。它在Yocto Project和Buildroot中都作为目标包可用(BR2_PACKAGE_VALGRIND)。
- 使用方法:在目标设备上运行Callgrind,命令如下:
# valgrind --tool=callgrind <program>
此命令会生成一个名为callgrind.out.<PID>的文件,你可以将其复制到主机上,使用callgrind_annotate进行分析。默认情况下,它会将所有线程的数据捕获到一个文件中。若在捕获时添加选项 -separate-threads=yes,则每个线程的分析信息会存储在名为callgrind.out.<PID>-<thread id>的文件中,例如callgrind.out.122-01和callgrind.
超级会员免费看
订阅专栏 解锁全文
1143

被折叠的 条评论
为什么被折叠?



