zoukankan      html  css  js  c++  java
  • jdk命令行工具(一)

    1、概述

      熟悉java开发的人应该都知道在jdk的bin目录下有许多的工具,这些工具主要用于监视虚拟机和故障处理。这些故障处理工具被Sun公司称作为“礼物”附赠给JDK的使用者,并在软件的使用说明中把它们生命为“没有技术支持并且是实验性质的”的产品,但事实上,这些工具都非常稳定并且功能强大,能在处理应用程序性能问题、定位故障时发挥很大的作用。

    2、命令行工具

    2.1、jps:虚拟机进程状况工具

      jps(JVM process Status Tool)命令虽然比较单一,确实我们平常使用频率最高的JDK命令行工具,它的作用是列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在类)名称以及这些进程的本地虚拟机唯一ID

      命令格式:

        jps   [option] [hostid]

    jps工具主要选项
    选项 作用
    -q 只输出LVMID,省略主类的名称
    -m  输出虚拟机进程启动时传递给主类main()函数的参数
    -l  输出主类的全名,如果进程执行的是jar包,输出jar路径
    -v  输出虚拟机进程启动是的jvm参数

    2.2、jstat:虚拟机统计信息监视工具

      jstat(JVM statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或远程虚拟机进程中的类加载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形界面,值提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具

    命令格式:

      jstat [option vmid [interval [s|ms]  [count]]]

      interval:查询时间间隔

      count:查询次数

     如果省略interval和count 参数,则默认只查询一次。假设需要每250ms查询一次进程32587的垃圾收集情况,一共查询20次,那么命令应该是:

      jstat -gc 32587 2590 20

    jstat工具主要选项
    选项  作用
    -class  监视类装载、卸载数量、总空间以及所耗费的时间
    -gc  监视java堆状况,包括Eden区、两个Supervisor区、老年代、永久代等的容量、已用空间、gc时间合计等信息
    -gccapacity  监视内容与-gc基本一致,但输出主要关注Java堆各个区域使用到的最大、最小空间
    -gcutil  监视内容与-gc基本一致,但输出主要关注已使用空间占总空间的百分比
    -gccause  与-gcutil功能一样,但是会额外输出GC产生的原因
    -gcnew  监视新生代GC情况
    -gcnewcapacity  监视内容与-gcnew基本一致,但输出主要关注使用到的最大、最小空间
    -gcold  监视老年代GC情况
    -gcoldcapacity  监视内容与-gcold基本一致,但输出主要关注使用到的最大、最小空间
    -gcmetacapacity  输出永久代使用的最大、最小空间
    -compiler  输出JIT编译器编译过的方法、耗时等信息
    -printcompilation  输出已经被JIT编译的方法

    各工具选项输出内容详解  

    -class Option:

    列名  描述
    Loaded  加载class的数量
    Bytes  所占用空间大小
    unloaded  未加载class的数量
    Bytes  未加载占用空间
    Time  执行类加载和卸载操作的时间。


    -gc Option:

    列名  描述
    S0C  Supervisor0当前的容量(KB)
    S1C  Supervisor1当前的容量(KB)
    S0U  Survivor space 0 使用的容量(KB)
    S1U  Survivor space 1 使用的容量(KB)
    EC  Eden space 当前的容量(KB)
    EU  Eden space 使用的容量(KB)
    OC  old space当前的容量(KB)
    OU  old space使用的容量(KB)
    PC  permanent space当前的容量(KB)
    PU  permanent space使用的容量(KB)
    YGC  young generation垃圾回收的次数
    YGCT  young generation垃圾回收的时间
    FGC  full GC次数
    FGCT  full GC时间
    GCT  总的垃圾回收时间

                

      

        

    -gccapacity Option

    列名  描述
    NGCMN  新生代最小容量(KB)
    NGCMX  新生代最大容量(KB)
    NGC  新生代当前容量(KB)
    S0C  Supervisor0当前的容量(KB)
    S1C  Supervisor1当前的容量(KB)
    EC  Eden space 当前的容量(KB)
    OGCMN  老年代最小容量(KB)
    OGCMX  老年代最大容量(KB)
    OGC  老年代当前容量(KB)
    OC  老年区当前容量(KB)
    PGCMN  永久代最小容量(KB)
    PGCMX  永久代最大容量(KB)
    PGC  当前永久代容量(KB)
    PC  当前永久区容量(KB)
    YGC  Young generation 垃圾回收的次数
    FGC  Full GC次数

    -gcutil Option

    列名  描述
    S0  S0区使用百分比
    S1  S1区使用百分比
    E  Eden 区使用百分比
    O  Old区使用百分比
    P  Permanent  区使用百分比
    YGC  young generation垃圾回收次数
    YGCT  young generation垃圾回收时间
    FGC  full GC次数
    FGCT  full GC时间
    GCT  总共的垃圾回收时间

    -gccause Option

    列名  描述
    LGCC  上一次产生gc的原因
    GCC  当前gc原因

    -gcnew

    列名  描述
    S0C  survivor space 0当前容量(KB)
    S1C  survivor space 1当前容量(KB)
    S0U  survivor space 0使用容量(KB)
    S1U  survivor space 1使用容量(KB)
    TT  阀值, 用于控制对象在新生代存活的最大次数
    MTT  最大阀值
    DSS  预期的survivor 大小(KB)
    EC  当前Eden区的容量(KB)
    EU  Eden区使用的容量(KB)
    YGC  young generation垃圾回收次数
    YGCT  young generation垃圾回收时间

    -gcnewcapacity

    列名  描述
    NGCMN             new generation最小容量(KB)
    NGCMX      new generation最大容量(KB)
    NGC      new generation当前容量(KB)
    S0CMX  survivor space 0最大容量(KB)
    S0C  survivor space 0当前容量(KB)
    S1CMX  survivor space 1最大容量(KB)
    S1C  survivor space 1当前容量(KB)
    ECMX  eden space 最大容量(KB)
    EC  eden space 当前容量(KB)
    YGC  young generation GC次数
    FGC  Full GC次数

    -gcold

    列名  描述
    MC  方法区容量(KB)
    MU  方法区当前使用容量(KB)
    CCSC  压缩类空间容量(KB)
    CCSU  压缩类空间当前使用容量(KB)
    OC  old space当前容量(KB)
    OU  old space使用容量(KB)
    YGC  young generation GC 次数
    FGC  full GC次数
    FGCT   full GC时间
    GCT  总的gc时间

    -gcoldcapacity

    列名  描述
    OGCMN  old generation最小容量(KB)
    OGCMX  old generation最大容量(KB)
    OGC  old generation当前容量(KB)
    OC  old space容量(KB)
    YGC  young generation GC次数
    FGC   full GC次数
    FGCT   full GC时间
    GCT  总的gc时间

    -gcmetacapacity

    列名  描述
    MCMN  最小元数据容量(KB)
    MCMX  最大元数据容量(KB)
    MC  当前元数据空间大小(KB)
    CCSMN  最小压缩类空间大小(KB)
    CCSMX  最大压缩类空间大小(KB)
    CCSC  当前压缩类空间大小(KB)
    YGC  young generation GC次数
    FGC   full GC次数
    FGCT  full GC时间
    GCT  总的gc时间

    -compiler

    列名  描述
    Compiled  编译任务执行次数
    Failed  编译任务执行失败次数
    Invalid  编译任务执行失效数量
    Time  编译任务消耗时间
    FailedType  最后一个编译失败任务的类型
    FailedMethod  最后一个编译失败任务所在的类及方法

    -printcompilation

    列名  描述
    Compiled  最近编译方法的数量
    Size  最近编译方法的容量(KB)
    Type  最近编译方法的编译类型
    Method  方法名标识
  • 相关阅读:
    第5章 构建Spring Web应用程序
    第4章 面向切面的Spring
    第3章 高级装配
    js json和字符串的互转
    webservice CXF入门服务端
    javascript的解析执行顺序
    java AES加密解密
    redis学习 java redis应用
    项目部署操作linux数据库mysql出现表找不到
    灯具板SOP
  • 原文地址:https://www.cnblogs.com/gulang-jx/p/9069081.html
Copyright © 2011-2022 走看看