試圖在64位Linux(CentOS)機器上診斷一些奇怪的Tomcat(7.0.21
)和/或JVM錯誤。Tomcat突然死亡
我正在加載測試我們的服務器應用程序,並嘗試用100K消息打它。推出jvisualvm
,並一直關注整個堆。一切都看起來很棒*(見下文),直到我得到約93K處理的消息,然後Tomcat剛剛死亡。在Tomcat的PID號碼上運行ps
以確認它已經死機。
直到這個崩潰:
- 負載測試已經運行了約90分鐘;應該已經完成了,此後不久,因爲我們在93K/100K)
- CPU抱着強烈%左右,45
- 使用的堆約爲2GB(加或減一幫地方選區後),但堆大小從4GB約後成長爲
MAX_HEAP
30分鐘 - 類加載/卸載循環爲正常
- 線程轉儲在服務器代碼均正常
無處是System.exit()
任何電話 - 因此我們可以排除對出(是的,我已經雙-checked !!!)。
我不確定這是Tomcat崩潰還是JVM(我如何知道?)。即使我知道,我似乎無法找到什麼地方出了錯跡象,包括:
- 所有的服務器應用程序的日誌只是停止沒有任何錯誤消息(儘管我們在登錄普遍設置爲DEBUG和更高)
- Tomcat的
catalina.out
和尊重localhost_access_*
文件只是停止沒有任何信息
我聽說可能有Tomcat log中一個核心轉儲當它但不知道如何做到這一點,網上的例子不是活得幫助很大。
怎麼去診斷呢?我應該採取哪些步驟來排除所有可能的因素?
在此先感謝!
是薛定諤的tomcat嗎? – erickson 2012-02-03 17:09:44
您是否檢查更多日誌? http://stackoverflow.com/questions/1575730/debugging-tomcat-crash – 2012-02-03 17:12:41
僅供參考在我的經驗,你可以告訴如果tomcat被OOM Killer殺死,因爲'Killed'這個詞將出現在接近catalina.out末尾的地方。 – Tom 2013-09-12 16:34:31