近来在启动一个web项目时,Tomcat报了以下的异常
java.lang.OutOfMemoryError: PermGen space
一眼看来,应该是Tomcat使用的JDK的永久代内存不够,所以,那么给JDK加内存呗。
给tomcat指定内存可以参照以下两种方式:
修改 TOMCAT_HOME/bin/catalina.sh
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"
上面的方法虽然也可以,不过却不建议采用这种方式,因为在 catalina.sh 有说明
Do not set the variables in this script. Instead put them into a script
setenv.sh in CATALINA_BASE/bin to keep your customizations separate.
- 所以,按照Tomcat官方建议,我们在 TOMCAT_HOME/bin 目录下新建setenv.sh文件,内容为
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"