标签: java tomcat garbage-collection tomcat7 virtual-memory
我有一个有时需要大量内存的java应用程序。它的消耗量为100-200 MB,但有时1-2分钟消耗约2 GB。
因为我必须支持这种情况,所以我将xmX设置为2048。
问题是除非应用程序需要更多内存,否则GC不会释放此内存。 服务器变得缓慢而且沉重,我无法使这个应用程序释放内存。
我尝试在该部分之后调用System.gc()但没有成功。
是否有更多可以帮助的VM参数?有没有办法强制GC运行?
谢谢!
答案 0 :(得分:1)
实际上,某些会将内存回馈给操作系统:SerialGC和G1GC。如果使用吞吐量收集器或低暂停收集器,则JVM不会向操作系统释放任何内存。
您可以详细了解article。
希望有所帮助!