具体报错log:
Exception in thread "http-bio-8080-exec-691" java.lang.OutOfMemoryError: Java heap space at java.util.jar.JarFile.getBytes(JarFile.java:360) at java.util.jar.JarFile.initializeVerifier(JarFile.java:319) at java.util.jar.JarFile.getInputStream(JarFile.java:388) at org.apache.catalina.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:3063) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2824) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1170) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1678) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage( MessageSenderInterceptor.java:64) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:7 7) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113) at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:458) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:185) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.j ava:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
问题是:1.如果修改tomcat下配置文件catalina.sh添加
2.有没有其他方案?
dump出来分析,需要改程序还是进行jvm调优。
先尝试增加JVM内存,还是频繁OOM就找开发,监控一下程序性能,是否有程序的BUG导致内存一直不能释放。
最后罗嗦一下,不要直接改catalina.sh,我不知道你有没有读过catalina.sh,有没有注意到catalina.sh的注释部分有这样的一段话:
#Donotsetthevariablesinthisscript.Insteadputthemintoascript#setenv.shinCATALINA_BASE/bintokeepyourcustomizationsseparate.好的谢谢
内存不足啊,先该tomcat,把内存给到能给出的最大设置。
如果还是老这样,就去找程序猿麻烦,肯定是哪个坑爹的写了些坑爹的代码在里面。<imgsrc="http://www.oschina.net/js/ke/plugins/emoticons/images/13.gif"alt=""/>
11版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。