AIX平臺上基於IBM JDK的JAVA應用記憶體洩漏分析

來源:互聯網
上載者:User
關鍵字 java IBM 記憶體洩漏 JDK AIX平臺

JAVA 開發者一般不需要考慮記憶體釋放問題,全交由 GC 去處理。 但是在一些生產環境中,JVM 經過長時間運行後,即使是一些很小的未釋放的 JAVA 物件,日積月累也會導致記憶體資源枯竭,最終使 JAVA HTTP://www.aliyun.com/zixun/aggregation/36295. html">應用崩潰的問題。 本文將就一個 AIX 平臺上基於 IBM JDK 開發的 JAVA 應用記憶體枯竭的實際案例分析過程,來引領讀者理解基於 IBM JDK 的 JAVA 應用記憶體洩漏調查方法,以及分析思路。

第一步,判斷是否是記憶體洩漏問題

根據生產環境出現的錯誤日誌以及 GC 日誌檔,進行初步判斷是否是記憶體洩露問題。

JAVA 應用的錯誤日誌:

「***WARNING*** JAVA heap is almost exhausted: 4% free JAVA heap

應用程式中對可用記憶體做了判斷,當可用記憶體比較低的時候輸出了 WARNING 的日誌。

使用 IBM pattern modeling and Analysis Tools for JAVA Garbage Collector 來分析 GC 日誌。

圖 1. 選擇打開 IBM JDK 的 GC 日誌檔


圖 2. 點擊 Graph View Part 顯示


圖 3. 顯示 GC 分析圖

從圖中可以看出 JAVA 記憶體的堆 (Heap) 的使用方式是持續的上升趨勢。

由此我們可以得出結論,JAVA 應用程式存在記憶體洩漏問題,導致記憶體堆得不到釋放。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.