我使用最近的Ganymede版本的Eclipse,特别是Java EE和Web开发人员的发行版.我已经安装了一些额外的插件(例如Subclipse,Spring,FindBugs)并删除了所有的Mylyn插件.
我没有在Eclipse中做任何特别重要的事情,例如启动应用服务器或连接到数据库,但由于某种原因,经过几个小时的使用后,我发现Eclipse使用的是接近500MB的内存.
有谁知道Eclipse为什么会使用这么多内存(漏洞?),更重要的是,如果我能做些什么来改进这个?
我并不特别了解Eclipse,我使用IntelliJ,它也会受到内存增长的影响(无论你是否正在积极使用它!).无论如何,在IntelliJ中,我无法消除这个问题,但我确实通过使用运行时VM选项减慢了内存增长.您可以尝试在Eclipse中重置这些,看看它们是否有所作为.
您可以在eclipse文件夹中的eclipse.ini文件中编辑VM选项.
我发现(在IntelliJ中)垃圾收集器设置对内存增长的速度影响最大.
我的设置是:
-Xms128m -Xmx512m -XX:MaxPermSize=120m -XX:MaxGCPauseMillis=10 -XX:MaxHeapFreeRatio=70 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing
(有关各个设置的说明,请参见http://piotrga.wordpress.com/2006/12/12/intellij-and-garbage-collection/).正如您所看到的,我更关心的是避免在编辑期间长时间暂停而不是实际内存使用,但您可以将其作为一个开始.