jvm如何查看gc日志?jvm gc日志分析

KLQ 2020-08-07 09:51:00 java常见问答 6197

很多的情况下我们都需要通过查看gc日志来看所设置的参数是不是合理的,所以,下面的文章要给大家讲到的就是gc日志查看的问题。

1、新生代和老年代的比值对性能的影响

jvm如何查看gc日志

首先的话,我们先来看一下下面的这个问题:

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的比值

jvm如何查看gc日志

在 after gc之后,一部分对象存在于from区,这表示调整是有效果的。

以上就是对于jvm gc日志查看方面的介绍了,你都清楚了吧,更多相关知识,请继续关注奇Q工具网的常见问题栏目来进行了解吧。

推荐阅读:

GC日志如何分析?GC日志分析工具详解

GC日志是什么?GC日志怎么看?

JVM调优,JVM如何调优?