我们的JVM消耗的内存比预期的要多。我们进行了一些分析,发现没有泄漏。已使用的堆内存最大可达2.9 GB,但在闲置时间下降到800 MB。但是,已提交的堆增加到3.5 GB(有时为4 GB),并且从未下降。此外,在空闲时间之后,当使用的堆从800 MB增加时,已提交的堆内存也会增加到3.5 GB。因此,我们的服务器很快就会达到最大内存大小,我们不得不每隔一天重启它们。
我的问题如下:
我的问题如下:
- 我理解的是,已提交的堆内存是当前分配的内存。当使用的堆内存减少时,为什么已提交的内存不会减少?
- 当使用的堆内存从其级别(800 MB)增加时,已提交的堆内存也会从其级别(3.5GB)增加
-Xmx4096M -Xms1536M -XX:PermSize=128M -XX:MaxPermSize=512M