2010-10-20 41 views
0

我似乎有一個巨大的Java應用程序內存泄漏。但是泄漏似乎並不在JVM內存本身內(即:堆,伊甸園,倖存者,代碼,perm_gen等),因爲我沒有用完這種類型的內存(例如:它在使用過程中上升,但是當GC運行時它最終會回落)。什麼是Java過程中'/ proc/smap'的空'路徑名'條目?

我的問題是我用完了系統RAM!所以我正在追蹤'/ proc/smap'並使用'pmap'工具來查看正在發生的事情。例如,'so','tmp'和'jar'條目保持相對穩定,並且不會在映射項目中增加太多,也不會像預期的那樣意外增加映射大小。

但什麼是隨時間增長顯著是沒有分配給特定路徑映射條目的數量。隨着時間的推移,有越來越多的這些,他們似乎並沒有消失。

例如,當JVM映射JAR文件時,我可以理解發生了什麼,但這些無路徑映射到底是什麼?任何人都有一個解釋/例子?

而且,任何人都可以確認「[堆]」條目是實際「JVM」碼堆和無關與XMM ANS XMS堆空間。

我使用Java(TM)2運行環境,標準版在2.6.16的Linux發行版(版本1.5.0_07-B03)。

回答

0

您使用哪個應用程序服務器?

這可能是c堆內存泄漏,所以你可以升級你的jdk並嘗試一下嗎?

+0

我試過1.6.x和幾乎一樣。我猜測這些是與反映的類相關的泄漏,這些類從未被垃圾收集。 – Jeach 2010-11-25 21:34:08

相關問題