C++常用性能分析工具
Posted 星火撩猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++常用性能分析工具相关的知识,希望对你有一定的参考价值。
top
1.无论你开发的是什么样的应用程序,敲个 top 命令,就能够简单直观地看到 CPU、内存等几个最关键的性能指标。top 展示出来的各项指标的含义都非常丰富。
2.一个是按“M”,看内存占用(RES/MEM),另一个是按“P”,看 CPU 占用,这两个都会从大到小自动排序,方便你找出最耗费资源的进程。另外,你也可以按组合键“xb”,然后用“<>”手动选择排序的列,这样查看起来更自由。
pstack
pstack 可以打印出进程的调用栈信息,有点像是给正在运行的进程拍了个快照,你能看到某个时刻的进程里调用的函数和关系,对进程的运行有个初步的印象。
strace
1.strace 可以显示出进程的正在运行的系统调用,实时查看进程与系统内核交换了哪些信息。
2.把 pstack 和 strace 结合起来,你大概就可以知道,进程在用户空间和内核空间都干了些什么。当进程的 CPU 利用率过高或者过低的时候,我们有很大概率能直接发现瓶颈所在。
perf
1.perf 可以说是 pstack 和 strace 的“高级版”,它按照固定的频率去“采样”,相当于连续执行多次的 pstack,然后再统计函数的调用次数,算出百分比。只要采样的频率足够大,把这些“瞬时截面”组合在一起,就可以得到进程运行时的可信数据,比较全面地描述出
以上是关于C++常用性能分析工具的主要内容,如果未能解决你的问题,请参考以下文章