我是一名开发人员,他在Apache Tomcat 6.x,Alfresco Labs 3(独立的.war文件)和一对自定义webapps的CentOS 5盒子上运行一个网站。为什么我的Tomcat/Alfresco网站每半天左右都无响应?
过去几个月服务器已经正常运行,但前几天有人通过Alfresco上传图片,网站停止响应。除此之外,所有通过Tomcat运行的web应用程序也都没有响应。我尝试在本地telnet(即telnet localhost 80),但它没有连接超时。
展望在最近的日志文件(本地主机...日志)我看到了开始java.lang.OutOfMemoryError堆栈跟踪:PermGen space的失败经过一番google搜索从128MB增加到最大烫发大小384MB。我们认为,这将解决这一问题,但今天它已经回来,Tomcat是下来了(只是没有在日志中的PermGen堆栈跟踪)
是不断弹出其他堆栈跟踪如下:
Jun 16, 2009 3:38:26 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:707)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)
at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:395)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
我不知道这是否相关,因为它似乎没有真正使Tomcat崩溃,但它似乎经常弹出。另外一个原因,我认为这不是什么大问题,在过去的一个月左右,我们的日志已经显示出来。
除此之外,我不完全知道该怎么做。没有任何其他线索我知道要检查。我猜这是一个Alfresco问题,但我不能肯定地说。我今天做的唯一改变配置的东西是将扩展容量增加到512MB,但这可能没有帮助,因为我们这次没有实际得到PermGen错误。
任何想法?
看来你在这里有两个不同的问题。你已经修复了一个,发现了另一个。不幸的是,我不知道如何诊断这个来自Tomcat内部的IllegalStateException。 尝试下载Tomcat源代码并查看该行发生了什么。 – skaffman 2009-06-16 21:59:41
这并不是真的与编程相关,但错误源于应用过滤器。你可能想从那里开始。 – cletus 2009-06-16 22:15:07