无Golang环境下如何分析tcmalloc生成的HEAPPROFILE?
解析tcmalloc HEAPPROFILE的解决方案(无需Golang)
一、无需安装Golang即可使用pprof的方法
1. 使用google-perftools自带的pprof(推荐)
tcmalloc本身属于google-perftools套件,该套件自带的pprof工具原生支持解析tcmalloc生成的HEAPPROFILE,完全不依赖Golang。
- 安装google-perftools:
- Debian/Ubuntu:
sudo apt install google-perftools - RHEL/CentOS:
sudo yum install gperftools
- Debian/Ubuntu:
- 解析HEAPPROFILE的常用命令:
- 生成文本格式堆使用报告:
pprof --text /path/to/your/binary /path/to/HEAPPROFILE - 生成可视化调用图(需提前安装graphviz:
sudo apt install graphviz):pprof --web /path/to/your/binary /path/to/HEAPPROFILE - 导出堆分配火焰图:
pprof --flamegraph /path/to/your/binary /path/to/HEAPPROFILE > flamegraph.svg
- 生成文本格式堆使用报告:
2. 下载Golang预编译的pprof二进制
如果需要使用Golang版本的pprof,无需安装完整Golang环境,直接下载对应平台的预编译pprof二进制文件即可:
- 获取对应操作系统、架构的pprof二进制文件
- 赋予执行权限:
chmod +x pprof - 直接运行解析命令:
./pprof --text /path/to/your/binary /path/to/HEAPPROFILE
二、替代工具
目前最适配tcmalloc HEAPPROFILE的工具仍是google-perftools自带的pprof,其他工具在兼容性和功能完整性上均不如它,因此优先推荐上述方法。若仅需轻量文本解析,直接使用pprof的文本输出模式即可,无需额外可视化工具。
内容的提问来源于stack exchange,提问作者Abhishek Kumar
相关产品推荐
相关产品推荐

