美文网首页java jvmJVM
google-perftools安装

google-perftools安装

作者: ByteBlade | 来源:发表于2016-11-15 14:32 被阅读2435次

    google-perftools是一个堆外内存分析工具.

    安装gcc

    sudo yum -y install gcc make
    sudo yum -y install gcc gcc-c++
    

    安装libunwind

    wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-beta.tar.gz
    

    默认libunwind安装到/usr/local/lib,使用prefix命令指定安装目录

    ./configure  --prefix=/data0/java/deploy/google-perftools/local/libunwind
    
    make
    make install
    

    安装google-perfile

    wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.5/gperftools-2.5.tar.gz
    
    ./confighre --prefix=/data0/java/deploy/google-perftools/local/gperftools-2.5/
    
    make
    make install
    

    使配置生效

    vi /etc/ld.so.conf.d/usr_local_lib.conf  
    

    编辑,添加以下内容,需要sudo权限

    /data0/java/deploy/google-perftools/local/libunwind/lib
    :wq! #保存退出
    sudo /sbin/ldconfig  #执行此命令,使libunwind生效。 需要sudo权限
    

    在应用程序启动前加入:

    export LD_PRELOAD=/data0/java/deploy/google-perftools/local/gperftools-2.5/lib/libtcmalloc.so
    export HEAPPROFILE=/data0/java/deploy/google-perftools/local/gzip
    

    分析结果

    local/gperftools-2.5/bin/pprof --text /usr/local/java/jdk1.7.0_55/bin/java test.0132.heap
    

    然后查看分析结果如下

    Using local file /usr/local/java/jdk1.7.0_55/bin/java.
    Using local file test.0132.heap.
    Total: 237.3 MB
       129.2  54.5%  54.5%    129.2  54.5% deflateInit2_
        57.5  24.2%  78.7%     57.5  24.2% os::malloc
        48.0  20.2%  98.9%     48.0  20.2% init
         0.9   0.4%  99.3%      0.9   0.4% ObjectSynchronizer::inflate
         0.8   0.3%  99.6%      0.8   0.3% updatewindow
         0.4   0.2%  99.8%      0.4   0.2% readCEN
         0.3   0.1%  99.9%      0.3   0.1% inflateInit2_
         0.1   0.0%  99.9%      0.1   0.0% _dl_allocate_tls
         0.0   0.0% 100.0%    129.3  54.5% Java_java_util_zip_Deflater_init
         0.0   0.0% 100.0%      0.0   0.0% _dl_new_object
         0.0   0.0% 100.0%      1.2   0.5% JavaThread::JavaThread@94a810
         0.0   0.0% 100.0%      0.0   0.0% SharedHeap::SharedHeap
         0.0   0.0% 100.0%      0.0   0.0% vm_init_globals
         0.0   0.0% 100.0%      0.4   0.2% ZIP_Put_In_Cache0
         0.0   0.0% 100.0%      0.0   0.0% strdup
         0.0   0.0% 100.0%      0.0   0.0% read_alias_file
         0.0   0.0% 100.0%      0.0   0.0% _nl_intern_locale_data
         0.0   0.0% 100.0%      0.3   0.1% Java_java_util_zip_Inflater_init
         0.0   0.0% 100.0%     13.4   5.6% init_globals
    

    相关文章

      网友评论

      • uno_uno:在应用程序启动前加入那里第二行
        export HEAPPROFILE=/data0/java/deploy/google-perftools/local/gzip
        这个gzip是?
      • 傻猪侠:我按你的方式,在自己的startup.sh脚本里加入export内容,然后再启java进程,没任何效果,没看到有heap文件输出,请问你的java进程是如何启的?

      本文标题:google-perftools安装

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