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

Java 根据内存使用情况分析Eclipse本身,java,linux,eclipse,gwt,Java,Linux,Eclipse,Gwt,我想分析Eclipse的内存使用情况,而不是Eclipse下的程序 我有一个小的JavaGWT程序,只需加载Eclipse工作区就可以将内存使用量提高到850m。。。当达到1024米时,整个物体以蜗牛般的速度爬行,即无法使用 我已经将Eclipse的堆增加到了2048m,但不知为什么Eclipse似乎只能使用最大1024m(我在Linux Ubuntu 10.10上使用开放jdk) 请帮忙 尝试使用此参数启动eclipse eclipsec-vmargs-Xms256m-Xmx512m-XX:P

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

我有一个小的JavaGWT程序,只需加载Eclipse工作区就可以将内存使用量提高到850m。。。当达到1024米时,整个物体以蜗牛般的速度爬行,即无法使用

我已经将Eclipse的堆增加到了2048m,但不知为什么Eclipse似乎只能使用最大1024m(我在Linux Ubuntu 10.10上使用开放jdk)


请帮忙

尝试使用此参数启动eclipse

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


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

只要您使用能够为您提供HPROF转储的JVM启动Eclipse,您就可以使用JVM相关安装中常用的实用程序获得转储

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

这个过程的一个演练,可以在详细介绍MAT是如何用来分析Eclipse的内存使用情况以及拼写检查器插件的内存消耗方面找到


如果要执行实时评测,那么必须使用合适的评测代理启动与Eclipse关联的JVM,然后将评测器连接到Eclipse JVM。不同的探查器的说明会有所不同。

您应该在调用jvm的命令行中启动eclipse,而不是使用exe,这样您就可以使用jvisualvm连接到java进程并监视/配置内存使用情况等

如前所述:

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

是您的解决方案

您只需安装它,启动它,选择要评测的Java进程(即您的eclipse进程),然后享受查找内存泄漏的乐趣;-)


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

您不能使用visualVM连接到正在运行的Eclipse会话吗?Linux Ubuntu下的开放jdk提供了这一点吗?我相信是的,但是我想我在几天前(在Fedora上)遇到了一个与OpenJDK版本的
jmap
jps
有关的bug。因此,最好使用Oracle/Sun JVM。
java -jar eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar