闫博雅个人资料哪里人:JDK的几种分析工具

来源:百度文库 编辑:九乡新闻网 时间:2024/05/07 20:43:15

学习了一下JDK中的一些自带系统性能分析工具。

在jdk的bin目录下,jconsole,jstack、jmap、jstat、jhat

jconsole 是监视和管理工具。可以查看堆内存,线程,类,CPU状况。直接双击就可以启动了,然后选择连接本地local还是远程remote,分析结果就出现在界面上了。当然也可以从命令行启动界面。

jstack 主要用于线程死锁的监控。

命令行中输入jstack -h查看用法

C:\Program Files (x86)\Java\jdk1.6.0_14\bin>jstack -h
Usage:
    jstack [-l]
        (to connect to running process)

Options:
    -l  long listing. Prints additional infor
    -h or -help to print this help message

pid 进程号


jmap 主要用于监控内存泄露时候对象占用的字节数。

命令行中输入jmap -h查看用法

C:\Program Files (x86)\Java\jdk1.6.0_14\bin>jmap -h
Usage:
    jmap -histo
      (to connect to running process and print histogram of java object heap
    jmap -dump:
      (to connect to running process and dump java heap)

    dump-options:
      format=b     binary default
      file=  dump heap to

    Example:       jmap -dump:format=b,file=heap.bin

jstat 主要用于监控jvm的gc使用情况。

命令行中输入jstat -h查看用法

C:\Program Files (x86)\Java\jdk1.6.0_14\bin>jstat -h
-h requires an integer argument
Usage: jstat -help|-options
       jstat -

pid 进程号,interval时间间隔,count次数


jhat 主要用于分析jmap产生的dump并提供web页面查看分析结果。

命令行中输入jhat -h查看用法

C:\Program Files (x86)\Java\jdk1.6.0_14\bin>jhat -h
Usage:  jhat [-stack ] [-refs ] [-port ] [-baseline ] [-
debug ] [-version] [-h|-help]

        -J          Pass directly to the runtime system. For
                          example, -J-mx512m to use a maximum heap size of 512MB

        -stack false:     Turn off tracking object allocation call stack.
        -refs false:      Turn off tracking of references to objects
        -port :     Set the port for the HTTP server.  Defaults to 7000
        -exclude :  Specify a file that lists data members that should
                          be excluded from the reachableFrom query.
        -baseline : Specify a baseline object dump.  Objects in
                          both heap dumps with the same ID and same class will
                          be marked as not being "new".
        -debug :     Set debug level.
                            0:  No debug output
                            1:  Debug hprof file parsing
                            2:  Debug hprof file parsing, no server
        -version          Report version number
        -h|-help          Print this help and exit
                    The file to read

For a dump file that contains multiple heap dumps,
you may specify which dump in the file
by appending "#" to the file name, i.e. "foo.hprof#3".

All boolean options default to "true"

jhat filename.bin //就可以分析产生的dump文件,可以通过访问http://localhost:7000

IBM的堆分析工具HeapAnalyzer (http://www.alphaworks.ibm.com/tech/heapanalyzer )。堆的dump log的视图化查看工具。

TDA - Thread Dump Analyzer (https://tda.dev.java.net/ )。线程dump的视图化查看工具。