1
我們有一個RESTful Web服務(Java,託管在Tomcat中)。它不時(不是每週)都失敗。當它失敗時,Java CPU消耗達到100%,並佔用所有可用內存。它本身並沒有完成。我必須重新啓動服務器。Tomcat訪問日誌 - 是否包含失敗的請求?
Tomcat訪問日誌中沒有任何可疑內容。我想我們的一個用戶可能會提交一個非常「沉重」的請求,導致服務器關閉。這個請求是否可能不在Tomcat日誌中,因爲它從未完成?
非常感謝
馬克西姆
對不起,它突然發生,很少,我們使用NewRelic - 它顯示Java內存圖表沒有內存泄漏 –
它仍然聽起來像內存泄漏,即使是最重的單個請求也不應該殺死tomcat,因爲有多個線程來處理其他請求,所以如果它是一個單一的請求,它會 – MTilsted
NewRelic是否也顯示最大堆大小?因爲我們曾經有一個tomcat系統,最大堆保持增長,而應用程序使用的內存沒有增長,所以它會運行一個garbadge集合,這會使堆從700MB增加到800MB,然後在收集之後將有650MB空閒。所以沒有理由增長堆,但它一直到達最大堆大小並死亡。 – MTilsted