美文网首页
Google Perftools Mac OS 安装与使用

Google Perftools Mac OS 安装与使用

作者: whosemario | 来源:发表于2016-11-26 15:51 被阅读0次

    项目用到了tcmalloc,然后发现项目有内存泄露,因此略微玩了一下Google Perftools

    1.安装

    目前Google Perftools的Repo在https://github.com/gperftools/gperftools/tree/master

    我们可以下载8.0的Release版本 https://github.com/gperftools/gperftools/tree/at8_0-release

    下载之后进行解压:

    > cd google-perftool
    > ./autogen.sh
    > ./configure --prefix=<build_path>
    > make
    > make install
    

    安装成功!

    2.使用

    使用方法很简单,目前我们项目使用方式如下(Linux下):

    export LD_PRELOAD=<build_path>/lib/libtcmalloc.so
    

    3.Heap Profile

    我们可以将tcmalloc使用Heap的信息dump出来,通过pprof工具进行查看。

    env HEAPPROFILE="./perf_log/game.log" HEAP_PROFILE_ALLOCATION_INTERVAL=10000000 <program>
    

    HEAPPROFILE: 用于指明dump出来的log信息的前缀
    HEAP_PROFILE_ALLOCATION_INTERVAL: 定义采样频率,默认是1G,当tcmalloc分配内存到达配置值时,将会dump出log

    查看信息

    比如我们的<program>是python

    pporf --text /usr/bin/python game.log.0001.heap
    

    4.Heap Leak Profile

    我们可以使用tcmalloc的Heap Checker去检查内存泄露

    env HEAPCHECK=normal <program>
    

    Heap Checker会在程序结束的时候打印出leak数据,并会提示使用什么指令进行详细信息的查看。

    --text: 文本数据
    --pdf: 调用栈的信息

    5.References

    1. http://dirtysalt.info/gperftools.html#orgheadline2 -- 对log信息的说明

    相关文章

      网友评论

          本文标题:Google Perftools Mac OS 安装与使用

          本文链接:https://www.haomeiwen.com/subject/lhkgpttx.html