4

如果您在没有指定 jvm 参数 MaxMetaspaceSize 和 metaspacesize 的情况下启动并使用重型 java 8 rcp 桌面应用程序会发生什么?

堆内存消耗的内存几乎和非堆(元空间)消耗一样正常吗?

最后一个问题:不指定元空间大小参数会导致应用程序崩溃吗?

4

1 回答 1

7

MaxMetaspaceSize除非指定,否则在您拥有的内存中是无限的。您在某些时候看到的情况是,元空间与堆大小相同是可能的。但是,堆和元空间都是垃圾收集的;所以这些值可以迅速改变。

不指定它,实际上意味着尽可能多地增长(我认为甚至包括交换)。我认为应用程序不会因此崩溃,除非在填充 MetaSpace 时出现 OutOfMemory;我个人非常怀疑。

于 2017-02-24T21:57:41.777 回答