我是一名開發人員,他在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