Eclipse 3.4 (Ganymede) 内存使用量是否明显高于 3.2?
我很高兴地使用 Eclipse 3.2(或者像使用 Eclipse 一样高兴),但由于一个被遗忘的原因,我决定升级到 3.4。 我主要使用 PyDev、Aptana 和 Subclipse,很少使用 Java 开发。
我注意到,与 3.2(vista、core2duo、2G)相比,3.4 往往会让我的笔记本电脑出现疝气。 3.4 上的内存使用量实际上比 3.2 上的内存使用量高吗?如果是的话,有没有办法减少它?
编辑:我尝试禁用插件(无论如何我没有启用太多)并使用jvm监视器; 后者很有趣,但我不知道如何以任何实际的方式使用这些信息。 我仍然无法减少其内存占用。 我还注意到,Eclipse 偶尔会挂起约 30 秒,然后神奇地回来。
I was happily using Eclipse 3.2 (or as happy as one can be using Eclipse) when for a forgotten reason I decided to upgrade to 3.4. I'm primarily using PyDev, Aptana, and Subclipse, very little Java development.
I've noticed 3.4 tends to really give my laptop a hernia compared to 3.2 (vista, core2duo, 2G). Is memory usage on 3.4 actually higher than on 3.2, and if so is there a way to reduce it?
EDIT: I tried disabling plugins (I didn't have much enabled anyway) and used the jvm monitor; the latter was interesting but I couldn't figure out how to use the info in any practical way. I'm still not able to reduce its memory footprint. I've also noticed every once in a while Eclipse just hangs for ~30 seconds, then magically comes back.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
是的,内存使用率可能会非常高,并且您的 JVM 可能会遇到问题,因为默认设置有点低。
运行 eclipse 时考虑使用此启动参数:
Yes memory usage can get real high and you might run into problems with your JVM, as the default setting is a bit to low.
Consider using this startup parameters when running eclipse:
通过这些选项,我设法将使用的内存限制为 700Mo(这是相当高的,但仍然可以与我的 2 Go 一起使用)
并考虑启动
并选择“连接/新连接/“eclipse”来监视 eclipse 使用的内存
(这就是我使用“-Dcom.sun.management.jmxremote”的原因)
还有其他选项此处。
With those options, I manage to limit the memory used to 700Mo (which is quite high, but still workable with my 2 Go)
And consider also to launch
And choose 'Connection / New connection / 'eclipse' to monitor the memory used by eclipse
(which is why I use '-Dcom.sun.management.jmxremote')
Other options are available here.
拥有的插件越多,Eclipse 消耗的内存就越多。 3.4 默认情况下包含比 3.3 更多的插件,依此类推,因为越来越多的开发人员要求包含更多功能。
转到“窗口”->“显示视图”,然后开始输入“插件”,选项之一就是插件注册表。 打开该视图,然后单击箭头以仅显示活动插件。 这些是实际加载到内存中的插件。 我的 Eclipse 3.3 目前已加载 445 个左右插件中的 89 个。 然后,一旦您看到您不会使用哪些插件,您就可以有选择地从“帮助”菜单开始禁用插件(例如,现在我没有使用 Mylyn,但我希望将来会使用)。
The more plugins you have, the more memory Eclipse will consume. 3.4 includes more plugins by default than 3.3, and so on, and so on, as more and more developers clamor for features to be included.
Go to Window->Show View, and start typing "plug in", and one of the options will be the Plug In Registry. Open that view, and click on the arrow to show active plugins only. These are the plugins actually loaded into memory. My Eclipse 3.3 currently has 89 out of 445 or so plugins loaded. You can then selectively start disabling plugins from the Help menu, once you see which ones you won't use (right now, for instance, I"m not using Mylyn, but I hope to in the future).
添加到我之前的答案和您最近的更新中:
这通常是网络访问失败并超时的标志(以及应用程序等待所述超时时相关的“冻结”)。
尝试在 DOS 提示符中输入“net use”,并检查是否在那里声明了网络路径,其中一些可以删除(“net use /D aUselessPath”)。 为了确保这一点,还要检查您声明的股份(净股份)。
由于您使用的是 Vista,请尝试停用 superfetch看看您是否仍然遇到这些冻结问题(对于 Eclipse 和 Firefox)。
使用管理权限打开 CMD 提示符并输入“net stop superfetch”以停止 SuperFetch 服务。
但这不是一个好的长期解决方案,只是一个快速检查。 Superfetch 应保持打开状态,并且会在下次重新启动时实际重新启动,因为该服务设置为在每个 Windows 会话中自动启动。
再说一次,这只是为了看看该服务和您的冻结之间是否有任何联系。
To add to my previous answer and to your recent update:
That is usually a sign for a failed network access with a timeout (and the associated 'freeze' while the application is waiting for said timeout).
try typing 'net use' in a DOS prompt, and check if you have net path declared there, some of them you could get rid off ('net use /D aUselessPath'). To be sure, check also the shares that you declare (net share).
Since you are with Vista, try also to deactivate superfetch and see if you still experience those freezes (both for eclipse and Firefox).
Open a CMD prompt with administrative privileges and enter "net stop superfetch" to stop the SuperFetch service.
It is not a good long-term solution though, just a quick check to make. Superfetch should be kept on, and will actually restart on your next reboot, since the service is set to start automatically at each Windows session.
Again, this is just to see if there is any connection between that service and your freezes.