ZhenghaeHo

Results 1 comments of ZhenghaeHo

> #### 问题截图: > ![image](https://user-images.githubusercontent.com/35131874/119233517-278efe00-bb5c-11eb-9e53-31d4afe8dd56.png) > > #### 关于元空间: > 使用Java 8以后,关于元空间的JVM参数有两个:`-XX:MetaspaceSize=N`和 `-XX:MaxMetaspaceSize=N`,对于64位JVM来说,元空间的默认初始大小是20.75MB,默认的元空间的最大值是无限。MaxMetaspaceSize用于设置metaspace区域的最大值,这个值可以通过mxbean中的MemoryPoolBean获取到,如果这个参数没有设置,那么就是通过mxbean拿到的最大值是-1,表示无穷大。 > > 由于调整元空间的大小需要Full GC,这是非常昂贵的操作,如果应用在启动的时候发生大量Full GC,通常都是由于永久代或元空间发生了大小调整,基于这种情况,一般建议在JVM参数中将MetaspaceSize和MaxMetaspaceSize设置成一样的值,并设置得比初始值要大。 > > #### 源码分析 > MetaspaceSize表示metaspace首次使用不够而触发Full GC的阈值,只对触发起作用,原因是:垃圾搜集器内部是根据变量 `_capacity_until_GC`来判断metaspace区域是否达到阈值的,初始化代码如下所示: > > ```js >...