我想確定我的webapp中是否有內存泄漏。我使用VisualVM和JMeter來加載測試並觀察堆。Eclipse內存分析器 - 泄漏可疑報告沒有指向我的類 - 爲什麼?
我昨天保存了一個堆轉儲文件並下載了Eclipse Memory Analyzer ......在經歷了VisualVM的很多挫折之後,我認爲Eclipse會精確定位漏洞,如果有的話,比VisualVM更好。
我在Eclipse中打開了堆文件,並運行他們所稱的泄漏可疑報告。我認爲它會指向我的web應用程序中的特定類,但它不會。所以我不知道如何使用它提供的信息來找出泄漏嫌疑犯在哪個特定類別的礦區。
下面是我的一個堆轉儲文件的泄漏可疑報告的結果。
One instance of "org.apache.catalina.session.StandardManager" loaded by "org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0" occupies 16,977,376 (48.54%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by "". Keywords org.apache.catalina.loader.StandardClassLoader @ 0x261bdac0 org.apache.catalina.session.StandardManager java.util.concurrent.ConcurrentHashMap$Segment[]
報告中詳細信息的其餘部分如附圖所示。我希望圖像可以擴大看看...
我知道Eclipse應該是非常好的軟件。這是我最後一次嘗試使用類似的方法來查找內存泄漏 - 我只知道這個軟件可以用於這樣的知識。教程和幫助頁面描述的事情,就好像你應該知道點擊幾下後該做什麼......我需要更多的幫助。