控制JVM大小

时间:2013-05-26 15:59:20

标签: java tomcat garbage-collection tomcat7 virtual-memory

我有一个有时需要大量内存的java应用程序。它的消耗量为100-200 MB,但有时1-2分钟消耗约2 GB。

因为我必须支持这种情况,所以我将xmX设置为2048。

问题是除非应用程序需要更多内存,否则GC不会释放此内存。 服务器变得缓慢而且沉重,我无法使这个应用程序释放内存。

我尝试在该部分之后调用System.gc()但没有成功。

是否有更多可以帮助的VM参数?有没有办法强制GC运行?

谢谢!

1 个答案:

答案 0 :(得分:1)

实际上,某些会将内存回馈给操作系统:SerialGC和G1GC。如果使用吞吐量收集器或低暂停收集器,则JVM不会向操作系统释放任何内存。

您可以详细了解article

希望有所帮助!