如果未在java 8 rcp应用程序中指定maxmetaspace参数,会发生什么?

Ana*_*nas 3 java rcp jvm java-8 metaspace

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

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

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

Eug*_*ene 6

MaxMetaspaceSize除非指明,否则,无限,就像你拥有的记忆一样.您在某些方面看到的元空间与堆大小相同是可能的.但是,堆和元空间都是垃圾收集的; 所以这些价值观可以迅速改变.

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

  • 这似乎是一个不会消亡的都市神话。“permgen”已被垃圾收集。总是。主要问题是它的固定大小。这就是为什么看到这么多人用最大元空间大小设置替换过时的最大永久大小设置看起来如此奇怪的原因,扼杀了元空间的主要优势...... (2认同)