程序员人生 网站导航

HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: Pe

栏目:php教程时间:2015-03-16 10:32:01

详细毛病信息


HTTP Status 500 - javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space type Exception report message javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space description The server encountered an internal error that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.auth.filter.AuthorizationFilter.doFilterInternal(AuthorizationFilter.java:77) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) com.auth.filter.AuthenticationFilter.doFilterInternal(AuthenticationFilter.java:115) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) root cause javax.servlet.ServletException: java.lang.OutOfMemoryError: PermGen space org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845) org.apache.jsp.index_jsp._jspService(index_jsp.java:1102) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.auth.filter.AuthorizationFilter.doFilterInternal(AuthorizationFilter.java:77) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) com.auth.filter.AuthenticationFilter.doFilterInternal(AuthenticationFilter.java:115) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) root cause java.lang.OutOfMemoryError: PermGen space java.lang.Class.getDeclaredConstructors0(Native Method) java.lang.Class.privateGetDeclaredConstructors(Unknown Source) java.lang.Class.getConstructor0(Unknown Source) java.lang.Class.newInstance(Unknown Source) org.apache.jasper.runtime.TagHandlerPool.get(TagHandlerPool.java:120) org.apache.jsp.index_jsp._jspx_meth_c_005fset_005f0(index_jsp.java:1115) org.apache.jsp.index_jsp._jspService(index_jsp.java:85) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) com.auth.filter.AuthorizationFilter.doFilterInternal(AuthorizationFilter.java:77) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) com.auth.filter.AuthenticationFilter.doFilterInternal(AuthenticationFilter.java:115) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344) org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.54 logs. Apache Tomcat/7.0.54

PermGen space


PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也1定是加大内存。说说为何会内存益出:这1部份用于寄存Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和寄存Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清算,所以如果你的APP会LOAD很多CLASS的话,就极可能出现PermGen space毛病。这类毛病常见在web服务器对JSP进行pre compile的时候。

解决方法


只需要在Tomcat的bin目录下的“”文件中添加1行就能够解决问题

JAVA_OPTS='-Xms512m -Xmx2048m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'

具体位置以下图:

这里写图片描述

这里写图片描述

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐