• JVM性能调优监控工具


    命令:jps、jstat、jmap、jhat、jstack

    简介:(1) jmap -dump:format=b,file=eclipse.bin 10481  生成堆转储快照eclipse.bin

         (2) jmap -heap 10481 打印堆空间的概要

     (3)jstack -l 10481  查看线程堆栈,除堆栈外,显示关于锁的附加信息

     (4)jmap -histo:live 10481 | more  查看类实例的数量、占用空间、所属类名

    一、jstat

       1. jstat -gc pid 
                可以显示gc的信息,查看gc的次数,及时间。 
                其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 
          2.jstat -gccapacity pid 
                可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小, 
                如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量, 
                PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。 
                其他的可以根据这个类推, OC是old内纯的占用量。 
         3.jstat -gcutil pid 
                统计gc信息统计。 
         4.jstat -gcnew pid 
               年轻代对象的信息。 
         5.jstat -gcnewcapacity pid 
               年轻代对象的信息及其占用量。 
         6.jstat -gcold pid 
              old代对象的信息。 
         7.stat -gcoldcapacity pid 
              old代对象的信息及其占用量。 
         8.jstat -gcpermcapacity pid 
              perm对象的信息及其占用量。 
         9.jstat -class pid 
              显示加载class的数量,及所占空间等信息。 
         10.jstat -compiler pid 
              显示VM实时编译的数量等信息。 
         11.stat -printcompilation pid 
              当前VM执行的信息。 
            一些术语的中文解释: 
             S0C:年轻代中第一个survivor(幸存区)的容量 (字节) 
             S1C:年轻代中第二个survivor(幸存区)的容量 (字节) 
             S0U:年轻代中第一个survivor(幸存区)目前已使用空间 (字节) 
             S1U:年轻代中第二个survivor(幸存区)目前已使用空间 (字节) 
             EC:年轻代中Eden(伊甸园)的容量 (字节) 
             EU:年轻代中Eden(伊甸园)目前已使用空间 (字节) 
             OC:Old代的容量 (字节) 
             OU:Old代目前已使用空间 (字节) 
             PC:Perm(持久代)的容量 (字节) 
             PU:Perm(持久代)目前已使用空间 (字节) 
             YGC:从应用程序启动到采样时年轻代中gc次数 
             YGCT:从应用程序启动到采样时年轻代中gc所用时间(s) 
             FGC:从应用程序启动到采样时old代(全gc)gc次数 
             FGCT:从应用程序启动到采样时old代(全gc)gc所用时间(s) 
             GCT:从应用程序启动到采样时gc用的总时间(s) 
             NGCMN:年轻代(young)中初始化(最小)的大小 (字节) 
             NGCMX:年轻代(young)的最大容量 (字节) 
             NGC:年轻代(young)中当前的容量 (字节) 
             OGCMN:old代中初始化(最小)的大小 (字节) 
             OGCMX:old代的最大容量 (字节) 
             OGC:old代当前新生成的容量 (字节) 
             PGCMN:perm代中初始化(最小)的大小 (字节) 
             PGCMX:perm代的最大容量 (字节)   
             PGC:perm代当前新生成的容量 (字节) 
             S0:年轻代中第一个survivor(幸存区)已使用的占当前容量百分比 
             S1:年轻代中第二个survivor(幸存区)已使用的占当前容量百分比 
             E:年轻代中Eden(伊甸园)已使用的占当前容量百分比 
             O:old代已使用的占当前容量百分比 
             P:perm代已使用的占当前容量百分比 
             S0CMX:年轻代中第一个survivor(幸存区)的最大容量 (字节) 
             S1CMX :年轻代中第二个survivor(幸存区)的最大容量 (字节) 
             ECMX:年轻代中Eden(伊甸园)的最大容量 (字节) 
             DSS:当前需要survivor(幸存区)的容量 (字节)(Eden区已满) 
             TT: 持有次数限制 
             MTT : 最大持有次数限制 

  • 相关阅读:
    LINUX下mysql的大小写是否区分设置 转
    在CentOS搭建Git服务器 转
    Idea实现WebService实例 转
    Intellij 中的git操作 转!
    Maven配置 settings.xml 转
    Maven使用第三方jar文件的两种方法 转
    Maven : 将Jar安装到本地仓库和Jar上传到私服 转
    maven 私服 配置 转
    Maven 私服配置 转
    Linux 下挂载硬盘的 方法
  • 原文地址:https://www.cnblogs.com/chengJAVA/p/5817691.html
Copyright © 2020-2023  润新知