Tomcat – Java.Lang.OutOfMemoryError: PermGe 错误解决方

摘要: 用tomcat 作为web server ,有时候会看到这样的错误:java.lang.OutOfMemoryError: PermGen space, 其实可以通过简单的修改配置文件解决.

用tomcat 作为web server ,有时候会看到这样的错误:java.lang.OutOfMemoryError: PermGen space

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 的时候,要根据自己机器的实际情况来设置.

上一篇: java 反射,如何得到反射类的实际存放路径
下一篇: java计算时间差的几种方法
 评论 ( What Do You Think )
名称
邮箱
网址
评论
验证
   
 

 


  • 微信公众号

  • 我的微信

站点声明:

1、一号门博客CMS,由Python, MySQL, Nginx, Wsgi 强力驱动

2、部分文章或者资源来源于互联网, 有时候很难判断是否侵权, 若有侵权, 请联系邮箱:summer@yihaomen.com, 同时欢迎大家注册用户,主动发布无版权争议的 文章/资源.

3、鄂ICP备14001754号-3, 鄂公网安备 42280202422812号