2017-02-24 20 views

回答

5

MaxMetaspaceSize除非指定,否则无限制,因为您拥有的记忆体数量很多。您在某些时候看到的元空间与堆大小相同是可能的。但是,堆和元空间都是垃圾收集的;所以这些值可以快速改变。

没有指定它,有效地意味着增长尽可能多(我认为甚至包括交换)。我不认为应用程序可能会崩溃,,除非带有OutOfMemory,当您填写MetaSpace时;我个人非常怀疑。

+0

感谢您的宝贵答案。根据诊断结果(性能和内存消耗量图......),我注意到GC不会收集GC,而不像定期收集的堆内存(在jvm应用程序配置中没有指定元空间大小参数)。在某些崩溃期间,不会生成pid文件,它看起来像是一个严重的崩溃(我有12 RAM的内存),并且该应用程序不会在具有相同jvm配置的32 RAM内存的另一台计算机上崩溃(xmx,xms和无元空间参数) – Anas

+1

这似乎是一个不会死亡的城市神话。 “permgen”已被垃圾收集。总是。主要问题是其固定大小。这就是为什么它看起来很奇怪,看到许多人用最大的元空间大小设置替换过时的最大permgen大小设置,从而杀死了元组空间的主要优点... – Holger

+0

@Holger太棒了。我一直认为它没有收集...... thx – Eugene

相关问题