我正在从我的应用程序分析GC日志。 我想知道为什么我的JVM为Meta Space分配了1.07千兆字节,但只使用了81兆字节。
我使用jdk8_8.91.14(Oracle JDK)而没有任何额外的内存设置。
这些数字来自使用http://gceasy.io/分析GC日志文件(-XX:+ PrintGCDetails)
所有使用过的metatada在应用程序启动后都被分配了很短的时间,并且在整个应用程序的生命周期内保持这种状态。
为什么JVM默认值在元数据方面如此浪费? 看来,在我的情况下,我只浪费了1GB的内存。
如何安全地调整元数据,因此它从小规模开始(如52Mb),仅在需要时增长,并以小块的形式增长?
我在(虚拟机)CentOS Linux release 7.2.1511 (Core)
上运行应用程序。
在VM中,我有一个Ubuntu 14.04.4 LTS