zoukankan      html  css  js  c++  java
  • HPROF学习

     抓取HPROF log

    1. GUI

    可以通过 adt-bundle-windows-x86_64-20140702sdk oolsmonitor.bat来抓取。

    打开软件,选中相应的包,比如“com.android.mms”,然后点击"Dump HPROF file" 按钮,保存为 “mms_0810.hprof" 即可。

    2.通过代码

    在编写代码的时候,如果想保存HPROF文件,使用android.os.Debug.dumpHprofData()函数即可。

       xxxButton.setOnClickListener(new View.OnClickListener() {
           public void onClick(View view) {
              android.os.Debug.dumpHprofData("/sdcard/com.android.mms.hprof");
           }
       }

    3.命令行

    adb shell am dumpheap com.android.mms /data/mms_0810.hprof

    关于dumpheap 的使用方法,可以参考下面。

    另外,查找一个JAVA使用的命令行工具。

    http://docs.oracle.com/cd/E19798-01/821-1752/beafo/index.html

    #java -Xrunhprof:help
    
         HPROF: Heap and CPU Profiling Agent (JVMTI Demonstration Code)
    
    hprof usage: java -agentlib:hprof=[help]|[<option>=<value>, ...]
    
    Option Name and Value  Description                    Default
    ---------------------  -----------                    -------
    heap=dump|sites|all    heap profiling                 all
    cpu=samples|times|old  CPU usage                      off
    monitor=y|n            monitor contention             n
    format=a|b             text(txt) or binary output     a
    file=<file>            write data to file             java.hprof[{.txt}]
    net=<host>:<port>      send data over a socket        off
    depth=<size>           stack trace depth              4
    interval=<ms>          sample interval in ms          10
    cutoff=<value>         output cutoff point            0.0001
    lineno=y|n             line number in traces?         y
    thread=y|n             thread in traces?              n
    doe=y|n                dump on exit?                  y
    msa=y|n                Solaris micro state accounting n
    force=y|n              force output to <file>         y
    verbose=y|n            print messages about dumps     y
    
    Obsolete Options
    ----------------
    gc_okay=y|n
    
    Examples
    --------
      - Get sample cpu information every 20 millisec, with a stack depth of 3:
          java -agentlib:hprof=cpu=samples,interval=20,depth=3 classname
      - Get heap usage information based on the allocation sites:
          java -agentlib:hprof=heap=sites classname

    转化HPROF log

    使用adt-bundle-windows-x86_64-20140702sdkplatform-toolshprof-conv.exe来转化。

    hprof-conv a.hprof b.hprof

    MAT分析

    http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html

  • 相关阅读:
    男人要知道的40条忠告
    利用xtraBackup实现不停master服务做主从同步
    MY SQL 知识
    房价与阶级
    SQL Server数据库级别触发器
    mysql 5.7开启并行复制
    SQL Server 查出未提交事务(长事务)SQL
    开源数据集
    telnet
    Zend Studio使用综述
  • 原文地址:https://www.cnblogs.com/miniren/p/4710302.html
Copyright © 2011-2022 走看看