一、基本语法
1.1、语法
jmap [ option ] pidjmap [ option ] executable corejmap [ option ] [server-id@]remote-hostname-or-IP# for example jmap -dump:format=b,file=/tmp/HeapDump.hprof <pid>
1.2、option 解析
1.2.1、-dump 参数
-dump:[live,]format=b,file=<filename># live 存活的对象# format=b 文件格式,b 二进制流的形式# file 导出的文件名称
1.2.2、-finalizerinfo
1.2.3、-heap
- 打印一个堆的总体概要。使用的GC算法,堆的内存分配和 新生代和老年代的使用情况
1.2.4、-histo[:live]
打印堆的直方图
- 类的数量
- 占用的内存大小(字节)
- 类的全限定类名
1.2.5、-permstat
打印载入堆永久代的类加载器的统计
1.2.6、-F
1.2.7、-h
打印帮助信息
1.2.8、-J
二、使用解析
2.1、打印当前堆概括
2.1.1、命令
jmap -heap pid
2.1.2、禁止访问进程的内存状态处理
# 临时开启echo 0 > /proc/sys/kernel/yama/ptrace_scope# 永久开启:/etc/sysctl.d/10-ptrace.conf#添加或修改为以下这一句:(0:允许, 1:不允许)kernel.yama.ptrace_scope = 0
2.1.3、打印信息
Debugger attached successfully.Server compiler detected.JVM version is 25.312-b07# GC 分配算法(线程本地变量 或 指针碰撞),这里使用线程本地变量using thread-local object allocation.# GC 垃圾收集器 Parallel GC with 8 thread(s)# 堆的配置Heap Configuration: MinHeapFreeRatio = 0 MaxHeapFreeRatio = 100 MaxHeapSize = 2067791872 (1972.0MB) # 最大堆,默认机器内存的1/4 NewSize = 42991616 (41.0MB) # 新生代 MaxNewSize = 688914432 (657.0MB) # 最大新生代内存 OldSize = 87031808 (83.0MB) #老年代 NewRatio = 2 # 新生代和老年代的比例 SurvivorRatio = 8 # suivivor 区的比例 8:1:1 MetaspaceSize = 21807104 (20.796875MB) # 元空间 CompressedClassSpaceSize = 1073741824 (1024.0MB) MaxMetaspaceSize = 17592186044415 MB # 最大元空间内存 G1HeapRegionSize = 0 (0.0MB) # G1 堆区域大小# 堆使用情况Heap Usage:PS Young GenerationEden Space: capacity = 94371840 (90.0MB) used = 32290664 (30.794776916503906MB) free = 62081176 (59.205223083496094MB) 34.21641879611545% usedFrom Space: capacity = 5242880 (5.0MB) used = 5231264 (4.988922119140625MB) free = 11616 (0.011077880859375MB) 99.7784423828125% usedTo Space: capacity = 5242880 (5.0MB) used = 0 (0.0MB) free = 5242880 (5.0MB) 0.0% usedPS Old Generation capacity = 67108864 (64.0MB) used = 13446200 (12.823295593261719MB) free = 53662664 (51.17670440673828MB) 20.036399364471436% used13050 interned Strings occupying 1147280 bytes.
2.2、导出dump 文件
2.2.1、命令
jmap -dump:format=b,file=/tmp/HeapDump.hprof pid
参考