我想在Eclipse下分析Eclipse的内存使用情况和而不是程序。
我有一个小型的Java GWT程序,只需加载Eclipse工作区就可以将内存使用量提高到850米......当达到~1024米时,整个事情就会爬到蜗牛的速度,即无法使用。
我已经将Eclipse的堆增加到了2048m,但是Eclipse似乎只能使用1024m max(我在Linux Ubuntu 10.10上使用open-jdk)。
请帮忙!
答案 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。