jinfo 查看jvm参数 :jinfo -flags pid
查看Java系统参数:jinfo -sysprops pid
Jstat
可以查看堆内存各部分的使用量,以及加载类的数量。
jstat 【-命令选项】【vmid】【间隔时间(毫秒)】【查询次数】 1秒=1000毫秒
垃圾回收统计
jstat -gc pid 查看程序内存使用及GC压力整体情况
查看新生代内存统计 jstat -gcnewcapacity
老年代垃圾回收统计 jstat -gcold pid
堆内存统计 jstat -gccapacity pid
元空间统计 jstat -gcmetacapacity pid
JVM 运行情况预估
年轻代对象增长的速度
Young GC的触发频率和每次耗时
每次Young GC后有多少对象存活和进入老年代
Full GC的触发频率和每次耗时
新生代的对象移动到老年代
大部分对象都是朝生夕死的,在第一次minorGC的时候就会被回收掉
1.大对象直接进入到老年代。需要大量连续的内存空间,-XX:PretenureSizeThreshold(单位是字节)可以设置大对象的大小,只在Serial和ParNew两个收集器下有效 。避免了为大对象分配内存时的复制 *** 作而降低效率。
2.长期存活的对象。分代收集的思想来管理内存,虚拟机给每个对象一个Age,默认是15,CMS默认是6.。-XX:MaxTenuringThreshold
3.对象动态年龄判断机制
4.老年代空间分配担保机制
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)