Eclipse部署多个Web项目内存溢出,java.lang.OutOfMemoryError: PermGen space

来源:互联网 发布:云远程监控软件 编辑:程序博客网 时间:2024/04/29 16:48

一、问题描述

在Eclipse中启动Tomcat(部署2个项目时),访问时,出现java.lang.OutOfMemoryError: PermGen space

 

原因就是内存溢出,因为Tomcat本身默认的内存是比较小的,如果部署多个项目,内存就不够用了,因为需要把内存修改得大点。

 

错误信息如下:

 

Java代码  
  1. 2016-9-20 10:25:21 org.apache.catalina.core.StandardWrapperValve invoke  
  2. 严重: Servlet.service() for servlet [spring] in context with path [/businesshall] threw exception [Handler processing failed; nested exception is java.lang.OutOfMemoryError: PermGen space] with root cause  
  3. java.lang.OutOfMemoryError: PermGen space  
  4.     at java.lang.ClassLoader.defineClass1(Native Method)  
  5.     at java.lang.ClassLoader.defineClassCond(Unknown Source)  
  6.     at java.lang.ClassLoader.defineClass(Unknown Source)  
  7.     at java.security.SecureClassLoader.defineClass(Unknown Source)  
  8.     at java.net.URLClassLoader.defineClass(Unknown Source)  
  9.     at java.net.URLClassLoader.access$000(Unknown Source)  
  10.     at java.net.URLClassLoader$1.run(Unknown Source)  
  11.     at java.security.AccessController.doPrivileged(Native Method)  
  12.     at java.net.URLClassLoader.findClass(Unknown Source)  
  13.     at java.lang.ClassLoader.loadClass(Unknown Source)  
  14.     at java.lang.ClassLoader.loadClass(Unknown Source)  
  15.     at org.apache.jasper.compiler.ParserController.getPageEncodingForJspSyntax(ParserController.java:479)  
  16.     at org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:420)  
  17.     at org.apache.jasper.compiler.ParserController.doParse(ParserController.java:190)  
  18.     at org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:119)  
  19.     at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:194)  
  20.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)  
  21.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)  
  22.     at org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)  
  23.     at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:662)  
  24.     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:364)  
  25.     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)  
  26.     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)  
  27.     at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)  
  28.     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)  
  29.     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)  
  30.     at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)  
  31.     at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)  
  32.     at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)  
  33.     at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)  
  34.     at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209)  
  35.     at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:267)  

 

二、解决方案下载

 

1、在Eclipse点击Tomcat打开配置页面,如下图所示:



 

 

 

2、点击open launch configuration下载

 

3、进入Arguments标签项

 

4、配置VM Arguments,加入内存的相关配置,如下图所示



 

 

Java代码  
  1. -Xms512m -Xmx1024m  
  2. -XX:PermSize=512M   
  3. -XX:MaxPermSize=1024M  

 

0 0
原创粉丝点击