我可以在不成为 golang 环境的情况下分析 tcmalloc 堆配置文件转储吗(没有 go 就无法安装 pprof)?

Can I analyze tcmalloc heap profile dump without golang being part of my environment (pprof can't be installed without go)?

提问人:Abhishek Kumar 提问时间:10/13/2023 最后编辑:Bruno HaibleAbhishek Kumar 更新时间:10/20/2023 访问量:21

问:

由于某些限制,我不能将golang作为我环境的一部分。我想使用 tcmalloc 生成的 HEAPPROFILE。据我所知,使其人类可读的唯一方法是使用 pprof,安装 pprof 的唯一方法是使用 go。有人可以建议任何替代 pprof 或安装 pprof 而不使用 pprof 吗?谢谢

GPROF PPROF TCMalloc gperftools 堆分析

评论


答:

0赞 Aliaksei Kandratsenka 10/20/2023 #1

可以在可以托管 pprof 的另一台计算机上运行 pprof。PPROF将要求您将其指向与您正在处理的任何平台兼容的Addr2line工具。如果您还想处理 .so 文件中的函数,您也需要提供这些二进制文件,并且 pprof 能够找到它们。

请参阅 pprof --help 输出(用于 github.com/google/pprof 的 go pprof)。您需要PPROF_TOOLS环境变量和PPROF_BINARY_PATH(此变量用于 .so 文件)。

或者,配置文件的格式非常简单,您只需要将这些地址转换为函数+行,这很容易自己编写脚本。