Optimization JVM—Xms对提交内存和垃圾收集的影响

Optimization JVM—Xms对提交内存和垃圾收集的影响,optimization,garbage-collection,jvm,heap-memory,jvm-arguments,Optimization,Garbage Collection,Jvm,Heap Memory,Jvm Arguments,我们有一个具有以下参数的tomcat xms1g Xmx 4g 并行GC 它安装在带有JVM 1.8.181的Ubuntu机器上 最近GC是全速启动的,不允许任何其他进程继续进行。我不明白的是,当JVM的总容量只有2.8GB,而堆的最大容量是4GB时,就会发生这种情况。为什么在mamory未达到最大值时运行完整GC 当我深入挖掘的时候,我发现在使用和承诺的记忆中有一个突然的变化;从1+GB到~4GB。这是否意味着因为我已经将最小堆设置为1GB,它只会一直到1GB,并且一旦达到1GB,它就会增加到

我们有一个具有以下参数的tomcat xms1g Xmx 4g 并行GC 它安装在带有JVM 1.8.181的Ubuntu机器上

最近GC是全速启动的,不允许任何其他进程继续进行。我不明白的是,当JVM的总容量只有2.8GB,而堆的最大容量是4GB时,就会发生这种情况。为什么在mamory未达到最大值时运行完整GC

当我深入挖掘的时候,我发现在使用和承诺的记忆中有一个突然的变化;从1+GB到~4GB。这是否意味着因为我已经将最小堆设置为1GB,它只会一直到1GB,并且一旦达到1GB,它就会增加到下一步?正因为如此,垃圾收集才会发生

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


更多信息-这是发生在几乎没有流量的情况下。没有后台进程正在进行。我知道它可以建立,但不使用任何东西,它怎么能上升我需要自己解决这个问题。

当您将最小堆设置为1 GB时,它从1 GB堆开始,认为进程本身可能会比这个多出几百MB到几GB,这取决于您使用的库。i、 e.住户规模可以更大

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