在系统日志中出现“Forcing GC due to low memory... Restarting due to low free memory...”后,服务停止了。请告知原因以及解决方法。

 
在不能确保JavaVM所使用的堆内存的剩余空间而导致Resin停止时,将出现以下信息。
------------------------------------- 
Forcing GC due to low memory. XXXXXXX free bytes. 
Restarting due to low free memory. XXXXXXX free bytes 
-------------------------------------

在JavaVM启动时所确保的内存大小中,堆内存的剩余空间不足时,Resin将强制结束。
这是Resin的设计(式样)。
另外,不能更改作为强制结束时的阀值的值。
通常,在输出上述信息之前,JavaVM将执行GC和FULL GC,释放不需要的JavaObject,并确保JavaVM的堆内存空间。但是,在未使用且不需要的JavaObject不多,或者持久使用的Object很多的情况下,GC的效果将减少。
"如果在这种情况下继续运行,则就像这次一样,有可能Java的内存空间不足而导致Resin停止。
为了规避此现象,请先在JavaVM的启动选项中,在机器规格范围内增加最大堆内存大小(-xmx)。
但是,如果让服务一直不停的运行,将导致剩余的堆内存空间不足,所以需要定期重启服务,并释放持久使用的Object。


-- 适用对象 ----------------------------------------------------------------
iWP/Web系统构建基础/WebPlatform/AppFramework
--------------------------------------------------------------------------------

FAQID:261
这篇文章有帮助吗?
0 人中有 0 人觉得有帮助
由 Zendesk 提供技术支持