Tomcat – Java.Lang.OutOfMemoryError: PermGe 错误解决方
By:Roy.LiuLast updated:2013-02-01
用tomcat 作为web server ,有时候会看到这样的错误:java.lang.OutOfMemoryError: PermGen space
这经常发生在tomcat启动和停止的的时间段,其实只需要对tomcat的配置文件做很小的改动,在默认情况下,tomcat 分配了很小的内存,因此,你可以修改catalina.sh 或者 catalina.bat 文件
1、找到tomcat下的catalina.sh 文件,一般在 \tomcat folder\bin\catalina.sh
2、指定变量JAVA_OPTS,并增加到catalina.sh文件中
一个catalina.sh 配置文件例子:
3. 重新启动 Tomcat,
4.注意 在修改 Xms 和 PermSize 的时候,要根据自己机器的实际情况来设置.
java.lang.OutOfMemoryError: PermGen space at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
这经常发生在tomcat启动和停止的的时间段,其实只需要对tomcat的配置文件做很小的改动,在默认情况下,tomcat 分配了很小的内存,因此,你可以修改catalina.sh 或者 catalina.bat 文件
1、找到tomcat下的catalina.sh 文件,一般在 \tomcat folder\bin\catalina.sh
2、指定变量JAVA_OPTS,并增加到catalina.sh文件中
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
一个catalina.sh 配置文件例子:
# JSSE_HOME (Optional) May point at your Java Secure Sockets Extension # (JSSE) installation, whose JAR files will be added to the # system class path used to start Tomcat. # # CATALINA_PID (Optional) Path of the file which should contains the pid # of catalina startup java process, when start (fork) is used # # $Id: catalina.sh 609438 2008-01-06 22:14:28Z markt $ # ----------------------------------------------------------------------------- JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC" # OS specific support. $var _must_ be set to either true or false. cygwin=false os400=false darwin=false case "`uname`" in CYGWIN*) cygwin=true;; OS400*) os400=true;; Darwin*) darwin=true;; esac # resolve links - $0 may be a softlink PRG="$0"
3. 重新启动 Tomcat,
4.注意 在修改 Xms 和 PermSize 的时候,要根据自己机器的实际情况来设置.
From:一号门
Previous:java 反射,如何得到反射类的实际存放路径
Next:java计算时间差的几种方法
COMMENTS