zoukankan      html  css  js  c++  java
  • JDK的几种分析工具

    学习了一下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] <pid>
            (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 <pid>
          (to connect to running process and print histogram of java object heap
        jmap -dump:<dump-options> <pid>
          (to connect to running process and dump java heap)
        dump-options:
          format=b     binary default
          file=<file>  dump heap to <file>
        Example:       jmap -dump:format=b,file=heap.bin <pid>
    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 -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
    Definitions:
      <option>      An option reported by the -options option
      <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                         <lvmid>[@<hostname>[:<port>]]
                    Where <lvmid> is the local vm identifier for the target
                    Java virtual machine, typically a process id; <hostname> is
                    the name of the host running the target Java virtual machine;
                    and <port> is the port number for the rmiregistry on the
                    target host. See the jvmstat documentation for a more complete
                    description of the Virtual Machine Identifier.
      <lines>       Number of samples between header lines.
      <interval>    Sampling interval. The following forms are allowed:
                        <n>["ms"|"s"]
                    Where <n> is an integer and the suffix specifies the units as
                    milliseconds("ms") or seconds("s"). The default units are "ms".
      <count>       Number of samples to take before terminating.
      -J<flag>      Pass <flag> directly to the runtime system.
    pid 进程号,interval时间间隔,count次数

    jhat 主要用于分析jmap产生的dump并提供web页面查看分析结果。
    命令行中输入jhat -h查看用法
    C:\Program Files (x86)\Java\jdk1.6.0_14\bin>jhat -h
    Usage:  jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-
    debug <int>] [-version] [-h|-help] <file>
            -J<flag>          Pass <flag> 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 <port>:     Set the port for the HTTP server.  Defaults to 7000
            -exclude <file>:  Specify a file that lists data members that should
                              be excluded from the reachableFrom query.
            -baseline <file>: 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 <int>:     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
            <file>            The file to read
    For a dump file that contains multiple heap dumps,
    you may specify which dump in the file
    by appending "#<number>" 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的视图化查看工具。
     
     
  • 相关阅读:
    nginx基础命令
    unity3d 事件说明
    unity3d xml序列化
    网上关于碰撞的资料
    武器系统逻辑代码分析
    quaternion*Vector3的新理解
    poolmanager1.path-o-logical 很好的prefab preload工具
    MobileMovieTexture播放视频
    spring中MessageSource的配置使用方法3--ResourceBundleMessageSource
    spring中MessageSource的配置使用方法2--ReloadableResourceBundleMessageSource
  • 原文地址:https://www.cnblogs.com/langke93/p/2217393.html
Copyright © 2011-2022 走看看