JVM - Xms 对提交内存和垃圾回收的影响



我们有一个带有以下参数的雄猫 Xms 1g Xmx 4g 并行气相色谱 它安装在带有JVM 1.8.181的Ubuntu机器中

最近,GC正在全速启动,并且不允许任何其他过程继续。我不明白的是,当总 JVM 只有 2.8 GB 而最大堆可以达到 4GB 时,就会发生这种情况。为什么当妈妈没有达到最大值时,完整的 GC 会运行?

当我深入挖掘时,ii发现已用和已提交的内存突然发生了变化;从1 + GB到~4GB。这是否意味着因为我将最小堆设置为 1 GB,它只到 1GB,一旦到达那里,它就会增加到下一步?因此,垃圾收集发生了?

如果是,这是否意味着为了避免这种情况,我需要增加最小堆?

更多信息 - 当流量几乎为 0 时,就会发生这种情况。没有后台进程正在进行。我知道它可以建立,但不使用任何东西,它怎么能上升!- 我需要自己弄清楚这一点。

当您将最小堆设置为 1 GB 时,它以 1 GB 堆开始,认为进程本身可能比这多 100 MB 到几 GB,具体取决于您使用的库。 即驻留大小可以更大。

随着堆上的压力因活动而增加,它可能会决定需要增加堆大小。必须有一个很大的负载才能触发这种情况发生,否则它不会改变堆。