专栏名称: ImportNew
伯乐在线旗下账号,专注Java技术分享,包括Java基础技术、进阶技能、架构设计和Java技术领域动态等。
目录
相关文章推荐
芋道源码  ·  面试官:int(1) 和 int(10) ... ·  16 小时前  
芋道源码  ·  Spring Boot + URule ... ·  16 小时前  
芋道源码  ·  入职第一天,看了公司代码,牛马沉默了 ·  昨天  
芋道源码  ·  Spring-Security ... ·  昨天  
51好读  ›  专栏  ›  ImportNew

JVM(4):JVM 调优 - 命令篇

ImportNew  · 公众号  · Java  · 2017-03-13 20:10

正文

请到「今天看啥」查看全文



这个命令意思就是每隔2000ms输出1262的gc情况,一共输出20次


-gccapacity


同-gc,不过还会输出Java堆各区域使用到的最大、最小空间


$ jstat -gccapacity 1262

NGCMN    NGCMX     NGC    S0C   S1C       EC         OGCMN      OGCMX      OGC        OC       PGCMN    PGCMX     PGC      PC         YGC    FGC

614400.0 614400.0 614400.0 26112.0 24064.0 564224.0   434176.0   434176.0   434176.0   434176.0 524288.0 1048576.0 524288.0 524288.0    320     1


  • NGCMN : 新生代占用的最小空间

  • NGCMX : 新生代占用的最大空间

  • OGCMN : 老年代占用的最小空间

  • OGCMX : 老年代占用的最大空间

  • OGC:当前年老代的容量 (KB)

  • OC:当前年老代的空间 (KB)

  • PGCMN : perm占用的最小空间

  • PGCMX : perm占用的最大空间


-gcutil


同-gc,不过输出的是已使用空间占总空间的百分比


$ jstat -gcutil 28920

S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT

12.45   0.00  33.85   0.00   4.44  4       0.242     0    0.000    0.242


-gccause


垃圾收集统计概述(同-gcutil),附加最近两次垃圾回收事件的原因


$ jstat -gccause 28920

S0     S1     E      O      P       YGC     YGCT    FGC    FGCT     GCT    LGCC                 GCC

12.45   0.00  33.85   0.00   4.44      4    0.242     0    0.000    0.242   Allocation Failure   No GC


  • LGCC:最近垃圾回收的原因

  • GCC:当前垃圾回收的原因


-gcnew


统计新生代的行为


$ jstat -gcnew 28920

S0C      S1C      S0U        S1U  TT  MTT  DSS      EC        EU         YGC     YGCT

419392.0 419392.0 52231.8    0.0  6   6    209696.0 3355520.0 1172246.0  4       0.242


  • TT:Tenuring threshold(提升阈值)

  • MTT:最大的tenuring threshold

  • DSS:survivor区域大小 (KB)


-gcnewcapacity


新生代与其相应的内存空间的统计


$ jstat -gcnewcapacity 28920

NGCMN      NGCMX       NGC      S0CMX     S0C     S1CMX     S1C       ECMX        EC        YGC   FGC

4194304.0  4194304.0  4194304.0 419392.0 419392.0 419392.0 419392.0  3355520.0  3355520.0     4     0


  • NGC:当前年轻代的容量 (KB)

  • S0CMX:最大的S0空间 (KB)

  • S0C:当前S0空间 (KB)

  • ECMX:最大eden空间 (KB)

  • EC:当前eden空间 (KB)


-gcold


统计旧生代的行为


$ jstat -gcold 28920

PC       PU        OC           OU       YGC    FGC    FGCT     GCT

1048576.0  46561.7   6291456.0     0.0      4      0      0.000    0.242


-gcoldcapacity


统计旧生代的大小和空间


$ jstat -gcoldcapacity 28920

OGCMN       OGCMX        OGC         OC         YGC   FGC    FGCT     GCT

6291456.0   6291456.0   6291456.0   6291456.0     4     0    0.000    0.242


-gcpermcapacity


永生代行为统计


$ jstat -gcpermcapacity 28920

PGCMN      PGCMX       PGC         PC      YGC   FGC    FGCT     GCT

1048576.0  2097152.0  1048576.0  1048576.0     4     0    0.000    0.242


-printcompilation


hotspot编译方法统计


$ jstat -printcompilation 28920

Compiled  Size  Type Method

1291      78     1    java/util/ArrayList indexOf


  • Compiled:被执行的编译任务的数量

  • Size:方法字节码的字节数

  • Type:编译类型

  • Method:编译方法的类名和方法名。类名使用”/” 代替 “.” 作为空间分隔符. 方法名是给出类的方法名. 格式是一致于HotSpot – XX:+PrintComplation 选项


jmap


jmap(JVM Memory Map)命令用于生成heap dump文件,如果不使用这个命令,还阔以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候·自动生成dump文件。 jmap不仅能生成dump文件,还阔以查询finalize执行队列、Java堆和永久代的详细信息,如当前使用率、当前使用的是哪种收集器等。


命令格式


jmap [option] LVMID


option参数


  • dump : 生成堆转储快照

  • finalizerinfo : 显示在F-Queue队列等待Finalizer线程执行finalizer方法的对象

  • heap : 显示Java堆详细信息

  • histo : 显示堆中对象的统计信息

  • permstat : to print permanent generation statistics

  • F : 当-dump没有响应时,强制生成dump快照


示例


-dump


常用格式


-dump::live,format=b,file= pid


dump堆到文件,format指定输出格式,live指明是活着的对象,file指定文件名


$ jmap -dump:live,format=b,file=dump.hprof 28920

Dumping heap to /home/xxx/dump.hprof ...

Heap dump file created


dump.hprof这个后缀是为了后续可以直接用MAT(Memory Anlysis Tool)打开。


-finalizerinfo


打印等待回收对象的信息


$ jmap -finalizerinfo 28920

Attaching to process ID 28920, please wait...

Debugger attached successfully.

Server compiler detected.







请到「今天看啥」查看全文


推荐文章
芋道源码  ·  面试官:int(1) 和 int(10) 有什么区别?
16 小时前
青年电影手册  ·  如果下一秒我即将老去,就是马上和你...
8 年前
大爱狗狗控  ·  怎么大风越狠,我心越荡昂~
8 年前