根据内存使用情况分析Eclipse本身

时间:2011-08-03 10:13:00

标签: java linux eclipse gwt

我想在Eclipse下分析Eclipse的内存使用情况和而不是程序。

我有一个小型的Java GWT程序,只需加载Eclipse工作区就可以将内存使用量提高到850米......当达到~1024米时,整个事情就会爬到蜗牛的速度,即无法使用。

我已经将Eclipse的堆增加到了2048m,但是Eclipse似乎只能使用1024m max(我在Linux Ubuntu 10.10上使用open-jdk)。

请帮忙!

4 个答案:

答案 0 :(得分:2)

分析Eclipse的内存使用情况与分析任何其他Java应用程序没什么不同。

只要您使用能够为您提供HPROF转储的JVM启动Eclipse,就可以使用jmap实用程序获取转储,该实用程序通常与相关的JVM安装一起提供。

稍后可以使用Eclipse MAT或其他转储分析器打开HPROF转储。注意:Eclipse MAT也支持其他转储格式,因此您不仅限于Hotspot JVM。

这个过程的演练可以在this post中找到,详细说明如何使用MAT来分析Eclipse的内存使用情况并确定拼写检查器插件的内存消耗。

如果要执行实时分析,则必须使用合适的分析代理启动与Eclipse关联的JVM,然后将分析器附加到Eclipse JVM。说明书因探查者而异。

答案 1 :(得分:2)

Memory Analyzer (MAT)是您的解决方案。

您只需安装它,启动它,选择您想要分析的Java进程(即您的eclipse进程),并享受追捕内存泄漏的责任; - )

当然,正如Vineet所说,你的JVM实现必须允许MAT获取HPROF文件(即在给定时间转储JVM内存)。

答案 2 :(得分:0)

尝试用这个参数开始日食

  

eclipsec -vmargs -Xms256m -Xmx512m -XX:PermSize = 128m -XX:MaxPermSize = 256m

答案 3 :(得分:0)

您应该在调用jvm的命令行中启动eclipse,而不是使用exe,这样您就可以使用jvisualvm和monitor / profile内存使用等连接到java进程。

正如解释here运行:

java -jar eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar

您可能需要更改jar的版本号以适应3.5。