为什么Java 8会分配1.07 GB的MetaSpace,但只使用81mb?

时间:2016-05-20 09:51:21

标签: garbage-collection java-8

我正在从我的应用程序分析GC日志。 我想知道为什么我的JVM为Meta Space分配了1.07千兆字节,但只使用了81兆字节。

我使用jdk8_8.91.14(Oracle JDK)而没有任何额外的内存设置。

这些数字来自使用http://gceasy.io/分析GC日志文件(-XX:+ PrintGCDetails)

所有使用过的metatada在应用程序启动后都被分配了很短的时间,并且在整个应用程序的生命周期内保持这种状态。

enter image description here

为什么JVM默认值在元数据方面如此浪费? 看来,在我的情况下,我只浪费了1GB的内存。

如何安全地调整元数据,因此它从小规模开始(如52Mb),仅在需要时增长,并以小块的形式增长?

我在(虚拟机)CentOS Linux release 7.2.1511 (Core)上运行应用程序。 在VM中,我有一个Ubuntu 14.04.4 LTS

的docker

0 个答案:

没有答案