linux - jvm相关命令
目录
一、快速检查 Java 进程(PID)堆内存中,哪种存活对象占用了最多内存?
二、实时监控 Java 虚拟机(JVM)垃圾回收(GC)状态和堆内存使用情况
三、堆转存储命令
1、手动堆转存储
2、在发生 OOM 时自动生成 Dump
一、快速检查 Java 进程(PID)堆内存中,哪种存活对象占用了最多内存?
jmap -histo:live 30049| head -n 20
-
连接到 PID 为
30049
的 Java 进程。 -
触发一次 Full GC(因为
:live
选项)。 -
生成该 Java 进程堆内存中所有存活对象的直方图统计(-histo)。
-
将这个可能很长的统计结果,只输出前 20 行(head -n 20)到屏幕上。
输出:
num #instances #bytes class name
----------------------------------------------1: 1250000 200000000 [B2: 1000000 160000000 [Ljava.lang.Object;3: 500000 40000000 java.lang.String4: 20000 6400000 java.util.HashMap$Node5: 10000 1600000 java.lang.Class... (一直到