我已经迁移到Eclipse 3.5.1并且观察到它在执行清洁构建时需要560 MB.使用后内存不会被收集.它保持这样.
对此有何解决方案?
JVM:jdk1.6.0_17 Windows XP,2GM RAM
下面是我的eclipse.ini
-showlocation -showsplash org.eclipse.platform --launcher.XXMaxPermSize 384m -startup plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519 -vm C:/Program Files/Java/jre6/bin/client/jvm.dll -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms128m -Xmx384m -Xss4m -XX:PermSize=128m -XX:MaxPermSize=384m -XX:CompileThreshold=5 -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -Dcom.sun.management.jmxremote -Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jaydeep/Ericsson/eclipse_galileo/eclipse/dropins
Jaydeep.
我花了很多时间研究与Eclipse相关的内存问题,特别是Eclipse 3.2和臭名昭着的PermGen问题.
一些可能有所作为的事情:
1)删除用于初始堆大小的内存量:-Xms40m而不是-Xms128m.2)不要设置最小PermGen大小:删除-XX:PermSize = 128m
1和2将减少您需要的初始空间量.
3)不要启动帮助系统 - 加载文档插件会占用大量内存,而这些内存永远不会被淘汰.4)使用Preferences/General/Startup和Shutdown页面取消选择Eclipse启动时不需要的插件.
3和4将使内存使用量过早增长.
5)如果您不需要Max PermGen和Max Heap,请考虑将它们设置得更低,直到/除非您有错误/崩溃反映其中任何一个.用完PermGen通常会使JVM崩溃并将日志文件转储到配置文件夹中,而堆错误将报告给正常的.log文件.
解决这些问题后,您可能仍会看到Windows内存随着时间的推移而不会被释放,尽管JVM可能无法在任何给定时间使用它可用的所有内容.任务管理器显示JVM可以使用多少,而Java内存通常可以通过jconsole(随JDK一起分发)进行监视,通常会更少.
希望有所帮助.