最近在使用Tomcat +Tapestry的時候遇見一個問題,由于Tapestry修改些內(nèi)容后要重新啟動(即使配置了一下那參數(shù)有時候也要重啟)當(dāng)我修改了頁面的內(nèi)容 需要調(diào)試不斷刷新,發(fā)現(xiàn)頁面顯示的速度越來越慢 最后就出現(xiàn)了 500錯誤java.lang.OutOfMemoryError 內(nèi)存溢出,在網(wǎng)上查了一下資料
最后總結(jié)如下希望可以幫你解決同樣的問題
解決java.lang.OutOfMemoryError的方法有如下幾種:
1。增加jvm的內(nèi)存大小。方法有:
1)在執(zhí)行某個class文件時候,可以使用java -Xmx256M aa.class來設(shè)置運行aa.class時jvm所允許占用的最大內(nèi)存為256M。
2)對tomcat容器,可以在啟動時對jvm設(shè)置內(nèi)存限度。對tomcat,可以在catalina.bat中添加:
set CATALINA_OPTS=-Xms128M -Xmx256M
set JAVA_OPTS=-Xms128M -Xmx256M
或者把%CATALINA_OPTS%和%JAVA_OPTS%代替為-Xms128M -Xmx256M
3)對resin容器,同樣可以在啟動時對jvm設(shè)置內(nèi)存限度。在bin文件夾下創(chuàng)建一個startup.bat文件,內(nèi)容如下:
@echo off
call "httpd.exe" "-Xms128M" "-Xmx256M"
:end
其中"-Xms128M"為最小內(nèi)存,"-Xmx256M"為最大內(nèi)存。
2. 優(yōu)化程序,釋放垃圾。