我使用Apache節儉運行Java服務器和建檔它我發現存儲器(舊根)總是不斷增長,如由該曲線圖中:內存泄漏運行Apache服務器節儉
尖銳因爲我點擊了「執行GC」,因此在圖表的末尾放置。
我明白這裏有內存泄漏。於是我就泄漏檢測器(MAT),並報告如下:通過「加載「com.sun.jmx.remote.internal.ArrayNotificationBuffer」 的
一個實例」佔據7844208( 77.22%)個字節。
我從來沒有親自使用這個類,所以我認爲Apache Thrift在內部使用這個類。我也發現ArrayNotificationBuffer
內存泄露this actually is an old known fixed JDK bug。
所以我有一個問題,一些關於這個:
爲什麼當我點擊「執行GC」有一個在所分配的內存這樣的下跌? GC不是自動運行的嗎?爲什麼它不會垃圾收集這些內存呢?
我用的OpenJDK(7u55-2.4.7-1ubuntu1〜0.12.04.2)和as far as I can see有關
ArrayNotificationBuffer
所有的錯誤都已經陳舊和固定的,那麼,爲什麼會出現這種情況?如何解決它?
快速搜索在Thrift源文件中沒有發現ArrayNotificationBuffer。 – JensG
@JensG我認爲我錯了,JMX本質上是由JVM使用的。 – m0skit0