GC调优

来源:7-5 GC日志格式详解

慕勒3109879

2019-08-27

老师你好,我有三个问题:
1、下图中我发现基本上发生gc都在新生代分配内存时候失败,于是我把新生代调大了,gc次数明显减少,但是,响应时间和吞吐量都变差了。 所以,是不是gc次数少并不一定是好事?
2、发生了两次有metaspace引起的gc,其中一次是fullgc,我调大了metaspace就没有出现由它引起的gc问题,但是metaspace明明有1g的大小啊,为什么会引起gc呢
3、metaspace使用的是本地内存,和jvm虚拟机有什么关系,为何要在jvm中设置参数去调整
图片描述

写回答

1回答

若鱼1919

2019-08-28

(1)Young区不是越大越好,也不是Young区发生GC的次数越少越好,这个结论是对的。Young区越大 发生一次GC需要的时间就越长,可能10次小的YoungGC所花费的时间还不如1次大的YoungGC的时间多。

(2)设置metaspace的初始大小了么?

(3)jvm会用metaspace来存储一下类相关的信息,默认这个空间的大小是没有限制的,也就是说jvm可以使用os的所有内存,我们可以限制下jvm能使用的最大内存

0
1
慕勒3109879
谢谢啦
2019-08-28
共1条回复

Java生产环境下性能监控与调优详解

系统掌握线上性能监控与 GC调优,线上代码调试

2373 学习 · 262 问题

查看课程