的條款。剖析Eclipse的本身我要分析Eclipse的內存使用和<em>不</em> Eclipse的下一個程序的內存使用
我有一個Java小程序GWT和公正加載Eclipse工作帶來了內存使用850米......和〜達到1024米時,整個事情爬到蝸牛的步伐,即無法使用。
我已經提高到2048M的Eclipse堆而只是不知何故Eclipse的似乎能夠使用1024米MAX(我使用的Linux操作系統Ubuntu 10.10開JDK)。
請幫忙!
的條款。剖析Eclipse的本身我要分析Eclipse的內存使用和<em>不</em> Eclipse的下一個程序的內存使用
我有一個Java小程序GWT和公正加載Eclipse工作帶來了內存使用850米......和〜達到1024米時,整個事情爬到蝸牛的步伐,即無法使用。
我已經提高到2048M的Eclipse堆而只是不知何故Eclipse的似乎能夠使用1024米MAX(我使用的Linux操作系統Ubuntu 10.10開JDK)。
請幫忙!
剖析了Eclipse的內存使用量,沒有與分析任何其他Java應用程序不同。
只要您使用能夠爲您提供HPROF轉儲的JVM啓動Eclipse,則可以使用通常可用於JVM關聯安裝的jmap
實用程序獲取轉儲。
的HPROF轉儲可以稍後使用Eclipse MAT或另一轉儲分析器打開。注意:Eclipse MAT也支持其他轉儲格式,因此您不僅僅限於熱點JVM。
此過程的演練可在this post中找到,其中詳細說明了MAT如何用於分析Eclipse的內存使用情況並精確定位拼寫檢查程序插件的內存消耗情況。
如果要執行活動的分析,那麼你就必須開始與Eclipse用合適的剖析代理相關聯的JVM,然後安裝探查到Eclipse JVM。從一個分析器到另一個,指令會有所不同。
Linux下Ubuntu的open-jdk提供了這個功能嗎? – jldupont
我相信是的,但我想我在幾天前(在Fedora上)遇到了一個涉及OpenJDK版本'jmap'或'jps'的bug。所以最好使用Oracle/Sun JVM。 –
嘗試啓動eclipse這個PARAMS
eclipsec -vmargs -Xms256m -Xmx512m -XX:PermSize =128米-XX:MaxPermSize參數=256米
你應該在命令行啓動Eclipse調用JVM,而不是使用的exe,這樣你可以用jvisualvm和監視/資料內存使用情況等
由於連接到java程序解釋here運行:
java -jar eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar
您可能需要將jar的版本號更改爲3.5。
Memory Analyzer (MAT)是您的解決方案。
你只需要安裝它,啓動它,選擇Java程序要分析(即你的日食過程),並享受打獵內存泄漏負責;-)
當然,作爲維尼特說,你的JVM實現必須允許MAT獲得HPROF文件(即在給定時間轉儲JVM內存)。
您不能使用visualVM連接到正在運行的Eclipse會話嗎? – dimitrisli