针对java程序java.lang.OutOfMemoryError: PermGen space的解决方案

来源:互联网 发布:单片机电子琴课程设计 编辑:程序博客网 时间:2024/05/16 18:39

针对java程序java.lang.OutOfMemoryError: PermGen space的解决方案



1. 对于Tomcat程序:
    一般来说,tomcat程序默认的最大内存占用为128M. 此设置可以通过以下方式查看,查看文件/etc/init.d/tomcat6中的JAVA_OPTS配置.
    但是以默认的128M的配置,往往是不够的。当看到有提示“java.lang.OutOfMemoryError: PermGen space”,此时就要修改tomcat程序所占用的内存了。
    该如何修改呢?
    以tomcat6为例,
    vim /etc/default/tomcat6,在其中添加一行:JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=1024m",然后重启tomcat,即可。
   
    修改完成之后,如何确定此配置是否已经生效了呢?
    通过命令:ps axu|grep tomcat,假如在启动的进程中看到如下信息,就说明修改已经成功:
tomcat6  18000  1.7 28.7 2573764 596028 ?      Sl   17:57   3:19 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -server -Xms256m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=1024m -Djava.security.auth.login.config=/usr/share/tomcat6/conf/jaas.conf -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tomcat6-tmp org.apache.catalina.startup.Bootstrap start
2. jetty:
修改文件 vim /etc/init.d/jetty:JAVA_OPTS="-server -Xms256m -Xmx1024m -XX:PermSize=256M -XX:MaxPermSize=1024m",即可。

0 0
原创粉丝点击