Java 8 reserves minimum 1G for Metaspace despite (Max)MetaspaceSize

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 21:07:51

The reason why Java reserves 1G for Classes hides in the way how it manages compressed class pointers.

The long answer: read this doc https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.html

The short answer: setup the correct size in 'CompressedClassSpaceSize' property -XX:CompressedClassSpaceSize=300m

Class (reserved=1221904KB

this isn't memory that's being used, just virtual address space

committed=197904KB

That's 197MB, not 1GB

Therefore you're not showing that java actually consumes 1GB of memory for class data, only that it reserves 1GB worth of address space.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!