JVM-8-常用工具

2019-09-30  本文已影响0人  宠辱不惊的咸鱼

问题

常用工具

JDK自带

jstack -l $pid > jstack.log
jinfo -opt $pid  
jinfo -flag MaxPermSize $pid # 查看MaxPermSize大小
jmap -dump:format=b,file=dump.bin $pid # 生成的bin文件可用MAT进行分析
# 似乎已经改成jhsdb jmap --heap --pid $pid
jmap -heap $pid # 显示各分区使用量
jmap -histo $pid # 显示所有对象的数量统计
[root@localhost logs]# jhsdb jmap --heap --pid 8863
Attaching to process ID 8863, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 9.0.4+11

using thread-local object allocation.
Garbage-First (G1) GC with 2 thread(s)

Heap Configuration:
   MinHeapFreeRatio         = 40
   MaxHeapFreeRatio         = 70
   MaxHeapSize              = 482344960 (460.0MB)
   NewSize                  = 1363144 (1.2999954223632812MB)
   MaxNewSize               = 289406976 (276.0MB)
   OldSize                  = 5452592 (5.1999969482421875MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 1048576 (1.0MB)

Heap Usage:
G1 Heap:
   regions  = 460
   capacity = 482344960 (460.0MB)
   used     = 1048576 (1.0MB)
   free     = 481296384 (459.0MB)
   0.21739130434782608% used
G1 Young Generation:
Eden Space:
   regions  = 1
   capacity = 8388608 (8.0MB)
   used     = 1048576 (1.0MB)
   free     = 7340032 (7.0MB)
   12.5% used
Survivor Space:
   regions  = 0
   capacity = 0 (0.0MB)
   used     = 0 (0.0MB)
   free     = 0 (0.0MB)
   0.0% used
G1 Old Generation:
   regions  = 0
   capacity = 23068672 (22.0MB)
   used     = 0 (0.0MB)
   free     = 23068672 (22.0MB)
   0.0% used

3366 interned Strings occupying 234592 bytes.
jstat -class $pid # 加载类数量,及所占空间
jstat -compiler $pid # JVM实时编译信息
jstat -util $pid # gc信息统计
jstat -gc $pid # gc信息,最后五项分别是young gc次数,young gc时间,full gc次数,full gc时间,gc总时间
# JVM中young,old,perm三代对象使用和占用大小
# PGCMN表示perm最小使用量,PGCMX表示perm最大使用量,PGC是当前新生成对象的perm占用量,PC是当前perm占用量;其他以此类推
jstat -gccapacity $pid
jstat -gcnew $pid # new对象信息
jstat -gcnewcapacity $pid # new对象信息及占用量
jstat -gcold $pid # old对象信息
jstat -gcoldcapacity $pid # old对象信息及占用量
jstat -gcpermcapacity $pid # perm对象信息及占用量
jstat -printcompilation $pid # 当前JVM解释执行信息
jstat -printcompilation $pid 250 6 -h3 # 每250毫秒打印,打印6次,每三行显示一下标题
上一篇 下一篇

猜你喜欢

热点阅读