Eclipse 如何减少日食';内存使用情况如何?

Eclipse 如何减少日食';内存使用情况如何?,eclipse,Eclipse,Eclipse3.4的内存使用已经达到了极限,成为一个问题 我加载了一个简单的BlackBerry项目,使用率飙升至近400MB,有时甚至更高。有什么办法可以降低它的性能吗?虽然你可以修改配置,删除各种插件等,但购买更多内存可能更划算。你现在有多少钱?我会考虑一个少于2GB内存的开发机器要规范,我怀疑很多人会加倍…… < P>现代版本的Eclipse确实需要相当多的RAM来完成它们的任务。但在任何现代机器上都应该运行得相当快 假设您有足够的物理内存(2GB是可以的,除非您有很多其他进程正在运行,

Eclipse3.4的内存使用已经达到了极限,成为一个问题


我加载了一个简单的BlackBerry项目,使用率飙升至近400MB,有时甚至更高。有什么办法可以降低它的性能吗?

虽然你可以修改配置,删除各种插件等,但购买更多内存可能更划算。你现在有多少钱?我会考虑一个少于2GB内存的开发机器要规范,我怀疑很多人会加倍……

< P>现代版本的Eclipse确实需要相当多的RAM来完成它们的任务。但在任何现代机器上都应该运行得相当快

假设您有足够的物理内存(2GB是可以的,除非您有很多其他进程正在运行,或者您正在使用RAD),请参阅上的这篇文章,以获取有关调整设置的一些提示。两个最常见的罪魁祸首是Xmx和/或MaxPermSize设置得太低(Xmx默认为256M,MaxPermSize默认为64M)

您可以通过传递命令行参数或在eclipse安装位置调整eclipse.ini来修改这些值

你应该以这样的方式结束:

...
-vmargs
-Xms128m
-Xmx1024m 
-XX:MaxPermSize=128m

Eclipse3.4比以前的版本消耗更多的内存

您可以通过转到“窗口->首选项->常规->编辑器->文本编辑器->拼写”关闭插件,并取消选中“启用拼写检查”框标题


当然,使用更大的堆大小和更好的垃圾收集器的技巧也会对您有好处。

如果400 Mb的RAM对您来说是一个大问题,您可能需要尝试另一个IDE。Eclipse存储了大量的状态信息,其中一些或大部分实际上并不需要。这是一个设计选择


现在,我在Eclipse和QtCreator中打开了同一个项目:在一次干净的重建之后,Eclipse使用了156 Mb的RAM,Qt Creator对66 Mb的内存感到满意。

我的Eclipse接管了800MB的常驻内存和2GB的虚拟内存(部分可能已被替换掉)。 Java可能是一头猪,它一直给Java带来负面影响

然而,有一点是很多人不知道的:增量垃圾收集器<代码>-Xincgc 其副作用是,它会不时地将内存交还给系统。 默认情况下,Java只需要一次又一次地使用内存,当它不再需要内存时,它会自己保留内存。 incgc是一种不同的策略,在这种策略中,更合理的假设是可以将内存返回系统而不会出现故障。 但是,这可能会影响性能


有许多垃圾收集设置。您还可以让多个线程处理GC。并行GC就是这样做的。不确定是否有人把内存拿回来,不要这样认为。

您可以在Windows 7上尝试64位版本的Eclipse和64位版本的JDK。这两个问题都导致我不得不使用的第三方框架出现了一些奇怪的问题。Oracle提供的32位JRockit(现在免费)似乎更快,内存也更好一些。这是我的Eclipse.ini设置:

这是我的日食酒店

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-nosplash
org.eclipse.platform
--launcher.XXPermSize
512m
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vm
C:/Program Files (x86)/Java/jrockit-jdk1.6.0_31-R28.2.3-4.1.0/jre/bin
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xquickstart
-XX:+AggressiveHeap
-XX:+AggressiveOpts
-XX:+UseParallelOldGC
-XX:ParallelGCThreads=2
-XX:ThreadPriorityPolicy=1
-Xverify:none
-Xms1100m
-Xmx1100m

我切换到32位JRockit JDK,这对于Eclipse来说似乎要快一点。我关闭,不安装超过我需要的内容。对于每种不同类型的应用程序开发(Android、J2EE、just Spring等等),我都有不同的Eclipse安装。硬盘空间很便宜。然后我就可以有我需要的每个插件。如果我不使用Android工具,我永远也不会希望加载所有的Android工具。STS也适用于Spring,我有一个适用于OpenShift云工作的STS。

在EclipseLuna 4.4.1中 试图在Eclipse中减少内存使用量。我设法将我的内存从600mb削减到300mb。我做了以下工作:

  • 关闭启动时激活的我没有使用的插件Windows>Preferences>General>Startup and Shutdown

  • 关闭了我当时没有参与的项目


在此处找到提示/提示:

检查
常规->显示堆状态将启用此功能

在底部的栏中。
这样,您可以随时通过单击垃圾桶手动运行垃圾收集器。这不是一个修复方案,更像是一个解决方案,但它帮助我大量减少了RAM/CPU的使用。

从eclipse.ini中删除
+UseG1GC
选项。据我所知,它只用于大约6GB的堆内存。

尝试禁用eclipse插件。当我打开saros插件时,Eclipse占用了我一半的内存。

完全同意。1GB内存只需20-30美元。你的时间值多少钱?让一组插件在Eclipse中工作是一件很辛苦的工作,不必对其进行不必要的修改(可以说是不必要的)。问题是,一旦黑莓模拟器被加载,VisualStudio(网络服务)和Chrome(在网络上查找内容),笔记本电脑就会陷入爬行状态。但Eclipse是迄今为止最大的罪魁祸首。3.3或3.2版本没有那么糟糕。完全不同意。正是出于这个原因,开发人员机器的规格应该比预期的最终用户机器低至少50%(CPU和RAM)。@finnw:你怎么会认为开发人员机器的工作负载与用户机器的工作负载类似?许多应用程序不需要像IDE那样的资源。您当然应该在低规格的机器上测试您的应用程序,但这并不意味着在一台机器上开发它。事实上,您显然已经在假设客户端应用程序。如果我正在开发一个针对移动设备的web应用程序,我是否也应该在手机上开发?@Nate:这是一个直接的问题,但通常在堆栈溢出时,查看问题比查看问题更有用。如果有人在SQL中连接值,而忘记了一些引号,那么问题的直接答案是w