Mark Word结构
触发GC的条件:
内存溢出(OOM)
-XX:+HeapDumpOnOutOfMemoryError
设置发生OOM时,dump堆内存信息;-XX:+HeapDumpPath=路径
设置;内存泄漏
无用的对象持续占据内存,无法释放内存。
1、系统TR变长排查思路
2、CPU飙升的排查思路
jstack
dump出文件具体看;线程频繁变化,说明创建对象频繁。JPS
从操作系统的临时目录(可能信息不全)查找当前机器运行的虚拟机进程。
-q:显示进程
-m:输出主函数传入的参数
-l:主类的完整package名称或jar完整名称
-v:列出JVM参数
jstat
监控虚拟机运行状态信息。
jstat -gc 进程ID:实时查看
jstat -gc 100 10:每间隔100毫秒查询10次
jinfo
查看和修改虚拟机参数。
jinfo -sysprops:查看System.getProperities()获取的参数
jinfo -flag:未被显示制定的参数的系统默认值
jinfo -flags:显示虚拟机的参数
jmap
生成堆转储快照(即dump文件)。
jmap -heap : 打印heap的概要信息
jmap -dump:生成dump文件
jstack
生成虚拟机当前时刻的线程快照。
jvisualvm
可视化工具,分析dump文件