zhangskd 2020-05-10
这两天一直在搞内存泄漏,既然写了篇博客,就顺便记录下上次优化cpu的经历,相比内存泄露修改后还不确定修改是否生效还要烤机来说,cpu优化修改可谓立竿见影。
这里就说几种常见的手法
1.top -Hp pid && pstack
如果某次修改后,cp异常较高,可能是代码引入了死循环,最简单的是利用上面的指令一般都能直接定位到消耗cpu高的代码块
2.火焰图
如果是要检测整个程序是否有可以优化cpu的地方,一般是跑个火焰图看看是哪里占用cpu比较高
3.目前我使用的最好的检测cpu终极工具--vtune
intel官方的检测消耗cpu的工具,官网可下载,windows版支持ssh,选择ssh挂接,会自动拷贝一个检测程序到目标服务器上,即可检测目标服务器任意程序cpu,并生成可视化报告,亲测准确度很高,详细列出了每一段代码使用cpu时间占比,实乃分析cpu之利器