最近在使用Tomcat +Tapestry的时候遇见一个问题,由于Tapestry修改些内容后要重新启动(即使配置了一下那参数有时候也要重启)当我修改了页面的内容 需要调试不断刷新,发现页面显示的速度越来越慢 最后就出现了 500错误java.lang.OutOfMemoryError 内存溢出,在网上查了一下资料
最后总结如下希望可以帮你解决同样的问题
解决java.lang.OutOfMemoryError的方法有如下几种:
1。增加jvm的内存大小。方法有:
1)在执行某个class文件时候,可以使用java -Xmx256M aa.class来设置运行aa.class时jvm所允许占用的最大内存为256M。
2)对tomcat容器,可以在启动时对jvm设置内存限度。对tomcat,可以在catalina.bat中添加:
set CATALINA_OPTS=-Xms128M -Xmx256M
set JAVA_OPTS=-Xms128M -Xmx256M
或者把%CATALINA_OPTS%和%JAVA_OPTS%代替为-Xms128M -Xmx256M
3)对resin容器,同样可以在启动时对jvm设置内存限度。在bin文件夹下创建一个startup.bat文件,内容如下:
@echo off
call "httpd.exe" "-Xms128M" "-Xmx256M"
:end
其中"-Xms128M"为最小内存,"-Xmx256M"为最大内存。
2. 优化程序,释放垃圾。