很多的情况下我们都需要通过查看gc日志来看所设置的参数是不是合理的,所以,下面的文章要给大家讲到的就是gc日志查看的问题。
1、新生代和老年代的比值对性能的影响
首先的话,我们先来看一下下面的这个问题:
yong = eden+survivor from + survivor to的,但是 2048+512+512 > 2560
新生代的可用空间:eden+survivor from,是的 to不属于可用空间,在一次MinorGC后,eden和from中还活着的对象会被全部复制到to当中,之后,from和to的角色互换,也就是可用空间只是eden+from。
第二个问题就是,在before gc之前,from和to都是 0%,但old区却是85%,那么,为什么新生代的from和to都是0%呢?
这主要就是因为,每次产生的对象的大小都是1m的对象,在对象过大的时候,就会直接的进入老年代。
除此之外,有很多的博文都介绍XX:SurvivorRation的默认值为8,但是看这里的比值的话不是8.
这主要是因为不断上调Xmx和Xms时,这个比值近似8。
那么针对第二个问题,做一下改动,现在只是生成10M大小的对象,单个对象的大小是1M,需要调整Xmn和SurvivorRation的比例。
2、设置Xmn和SurvivorRation的比值
在 after gc之后,一部分对象存在于from区,这表示调整是有效果的。
以上就是对于jvm gc日志查看方面的介绍了,你都清楚了吧,更多相关知识,请继续关注奇Q工具网的常见问题栏目来进行了解吧。
推荐阅读: