0
我得到了GC開銷超過限制,但記憶中留下
java.lang.OutOfMemoryError: GC overhead limit exceeded
而分裂一些字符串。有趣的是,內存都沒有用完,垃圾收集器也沒有變得瘋狂:
例外發生在11:10,當Eclipse在實際拋出異常之前凍結了程序。所以11:10之後的一切都可能只是噪音。
我多次遇到這個問題,在我的長期運行的程序,但我不知道如何避免它。即使分配更多的內存也只會延遲但不會阻止它。
您是否嘗試過與運行'-XX:+ HeapDumpOnOutOfMemoryError'然後檢查的轉儲? – Axel
我有一個轉儲,但實際上我不知道要搜索什麼。 –
嗯......例如,對於一個你不期望的類的異常大量的對象實例。但是你還可以做其他事情:在OutOfMemoryError上放置一個Exception。現在,當OOM發生時,不僅有相關的堆棧跟蹤,而且實際上可以使用調試器在發生故障時檢查輸入參數等。 – Axel