相關問題:Garbage collector usage when upgrade from Java 6 + Tomcat 6 to Java 8 + Tomcat 8內存分配行爲8
我有一組的webapps,與Java編譯8.如果我在Tomcat的運行8他們,我得到了很多未成年人的GC具有隨機內存分配的集合。在Tomcat 6中,內存分配更加線性穩定(在兩種情況下都是空閒的,沒有流量)。
伊甸空間的Tomcat 8:
伊甸空間的Tomcat 6:
你知道爲什麼會發生這種情況嗎?
EDIT 1:
這些來自生產環境與JDK 1.8和Tomcat 8.數據 CPU確實是高几乎總是由於GC週期。對此有何評論?
編輯2:
這是堆轉儲更新的時候通知(1.8GB轉儲):
隨着更多的GC調用你使用更少的cpu。 –
@GilianJoosen每個GC週期都需要CPU(請參閱cpu使用情況圖),內存泄漏可能會導致持續100%的CPU時間垃圾收集和不可用的服務器。 –
在Tomcat 6和Tomcat 8之間的兩個主要版本中,答案會是「因爲他們改變了事情」。如果你有流量,會發生什麼,Tomcat不只是閒置(因爲這是真正重要的)。你內存不足了嗎? Tomcat 8會降低性能嗎? – Kayaman