java内存溢出主要有两种可能出现的形式,除了通过代码排查解决代码级可能带来的问题,下面介绍下tomcat下解决此异常的配置
1、java.lang.OutOfMemoryError: Java heap space
此异常是堆栈空间溢出,需要增加堆栈设置,修改TOMCAT_HOME/bin/catalina.bat 加入
set JAVA_OPTS=-Xms512m -Xmx512m
如果是使用Windows服务的方式启动,则将上面内容加到service.bat中。
2、 java.lang.OutOfMemoryError: PermGen space
此异常是永久存储空间溢出,需要增加永久空间设置,修改TOMCAT_HOME/bin/catalina.bat 加入
set JAVA_OPTS=-server -XX:PermSize=256M -XX:MaxPermSize=512m
如果是使用Windows服务的方式启动,则将上面内容加到service.bat中。
以上两种方式为了保证都同时生效,可同时设置 set JAVA_OPTS=-Xms512m -Xmx512m -server -XX:PermSize=256M -XX:MaxPermSize=512m