#JVM调优命令-jmap

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

- jmap [ option ] pid

options参数

heap : 显示Java堆详细信息

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

permstat :Java堆内存的永久保存区域的类加载器的统计信息

finalizerinfo : 显示在F-Queue队列等待Finalizer线程执行finalizer方法的对象
dump : 生成堆转储快照
F : 当-dump没有响应时,强制生成dump快照

[root@localhost jdk1.7.0_79]# jmap -heap 24971
Attaching to process ID 24971, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.79-b02
 
using thread-local object allocation.
Parallel GC with 4 thread(s)
 
Heap Configuration:
   MinHeapFreeRatio = 0
   MaxHeapFreeRatio = 100
   MaxHeapSize      = 4146069504 (3954.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)
   G1HeapRegionSize = 0 (0.0MB)
 
Heap Usage:
PS Young Generation
Eden Space:
   capacity = 517996544 (494.0MB)
   used     = 151567520 (144.54605102539062MB)
   free     = 366429024 (349.4539489746094MB)
   29.26033421566612% used
From Space:
   capacity = 41943040 (40.0MB)
   used     = 0 (0.0MB)
   free     = 41943040 (40.0MB)
   0.0% used
To Space:
   capacity = 40370176 (38.5MB)
   used     = 0 (0.0MB)
   free     = 40370176 (38.5MB)
   0.0% used
PS Old Generation
   capacity = 115343360 (110.0MB)
   used     = 32927184 (31.401809692382812MB)
   free     = 82416176 (78.59819030761719MB)
   28.54709972034801% used
PS Perm Generation
   capacity = 85983232 (82.0MB)
   used     = 54701200 (52.16712951660156MB)
   free     = 31282032 (29.832870483398438MB)
   63.6184506300019% used
 
20822 interned Strings occupying 2441752 bytes.

示例:https://www.cnblogs.com/myna/p/7573843.html