tomcat 内存溢出问题(OutOfMemoryError: PermGen space)

导入公司项目的时候出现的问题,在此记录处理方法。

tomcat在启动的时候报错:OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器 对JSP进行pre compile的时候。但目前的hibernate和spring项目中也很容易出现这样的问题。可能是由于这些框架会动态class,而且jvm的gc是不会清理PemGen space的,导致内存溢出。

网上查找了解决方法:大致有一下三种(我是用了第三种才解决的):

第一种:tomcat的内存不足那就加大它。

    

1. 手动设置MaxPermSize大小
      修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在“echo "Using CATALINA_BASE:   $CATALINA_BASE"”上面加入以下行:
 JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m

catalina.sh下为:
JAVA_OPTS="$JAVA_OPTS -server -XX:PermSize=128M -XX:MaxPermSize=512m"

第二种:修改myeclipse 安装目录下的myeclipse.ini文件

(这种方法做记录,好像没有什么用的)

第三种:修改myeclipse中的相关参数

依下图:在Run中找到Run Configurations设置

最后再加一种方案:

在 Optional Java VM arguments中设置:

时间: 2024-11-16 14:26:49

tomcat 内存溢出问题(OutOfMemoryError: PermGen space)的相关文章

jvm 内存溢出 在myeclipse中加大tomcat的jvm内存 java.lang.OutOfMemoryError: PermGen space

使用myeclipse启动部署在tomcat7下的三个项目报出java.lang.OutOfMemoryError: PermGen space 解决办法: 在myeclipse中加大jvm内存方法:Window->Preferences->Myeclipse->Services->Tomcat->Tomcat 6.x->JDK,在Optional Java VM arguments:下边的输入框里输入:-Xms128m -Xmx512m -XX:PermSize=12

tomcat服务器java.lang.OutOfMemoryError: PermGen space

一挂就报内存溢出 下面是TOMCAT日志 JAVA程序是没有报错, Nov 24, 2009 4:07:02 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception java.lang.OutOfMemoryError: PermGen space Nov 24, 2009 4:07:02 PM org.apache.cat

windows系统bat方式启动tomcat出现java.lang.OutOfmemoryError:PermGen Space 错误

1.问题情景: 在部署项目时,将两个应用部署到同一个tomcat下,通过startup.bat启动服务时,控制台出现出现java.lang.OutOfmemoryError:PermGen Space 错误服务器环境:    系统版本:windows server 2008 r2    安装内存:64GB    处理器:8核(具体型号记不得了) 2.解决方法: PermGen Space:全称是Permanent Generation Space,是指内存的永久保存区域,这块内存主要是被JVM存

Tomcat报java.lang.OutOfMemoryError: PermGen space错误

java.lang.OutOfMemoryError: PermGen space解决方案 : -Xms512m -Xmx1024m -XX:MaxPermSize=256m

Tomcat内存溢出解决java.lang.OutOfMemoryError: PermGen space

背景:把两个项目同时部署在tomcat,启动快好的时候,报java.lang.OutOfMemoryError: PermGen space 原因:因为两个项目的jar包太多,JVM把里面的class文件加载时把默认的内存撑爆了 解决方法: (1)查找了很多网上的方法,但是还是解决不了我的问题.我的解决方法是: 右键eclipse项目==>run as===èrun Configuration=看左边的Apache Tomcat 下面的tomcat…=è点击后右边的Argument, VM ar

Tomcat内存溢出(java.lang.OutOfMemoryError: PermGen space)

Tomcat启动时报如下错误:     java.lang.OutOfMemoryError: PermGen space 解决办法:     配置相关内存大小.其中按照启动tomcat的不同方式,分如下三种情况     a):如果是eclipse的tomcat插件启动tomcat,在“window”菜单-“Preferences”-“Tomcat”-“JVM Settings”中添加JVM参数如下即可:         -Xms128M -Xmx512M -XX:PermSize=128M -

tomcat内存溢出解决,java.lang.OutOfMemoryError: PermGen space

今天遇到了一个java.lang.OutOfMemoryError: PermGen space异常问题,一直解决不了,根据网上修改了tomcat的配置文件,但是还是解决不了,最后是通过如下方式解决的,解决步骤如下:eclipse–> window–>show view –>server–>双击图一将会跳转到图二界面–>双击图二的Open launch configuration将跳转到图三–>在图三的Arguments的VM arguments顶行加上"-X

Tomcat报错,内存溢出的错误Exception in thread "http-bio-8080-exec-13" java.lang.OutOfMemoryError: PermGen space

说是tomcat 内存溢出,然后按照网上看的搞一搞之后没出息这个问题了 原因是tomcat内存溢出,按照一到五步奏,在第三步加上那段参数. 原文地址:https://www.cnblogs.com/shiwanming/p/9626888.html

Java内存溢出java.lang.OutOfMemoryError: PermGen space

今天把以前的一个项目部署在tomcat,启动没问题.因为用到了webservice,当调用webservice中的方法时一直报内存溢出异常 Exception in thread "http-bio-8087-exec-3"  java.lang.OutOfMemoryError: PermGen space 网上介绍的该内存什么的都试了一遍,然而并没有什么用,首先我得代码没错,调用远程服务方法什么的都对 修改内存版: Xms128m -Xmx1024m -XX:MaxPermSize

tomcat内存溢出之PermGen space

线上一台web服务器不能正常访问了,检查了一下,tomcat进程还在,就是web不能正常访问,重启一下tomcat恢复正常,查询日志,发现提示内存溢出,如下图: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: PermGen space 查找资料了解到:PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Me