如何减少Eclipse的内存使用量?

Ang*_*ker 77 eclipse

Eclipse 3.4的内存使用量已达到顶峰,直至成为一个问题.

我加载了一个简单的黑莓项目,使用量猛增至近400 MB,有时甚至更高.有什么东西可以用来降低它吗?

Vin*_*lds 82

Eclipse 3.4可以比以前的版本消耗更多的内存,由spellchecker插件提供.

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

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

  • 不适合我.仍然在900-930MB.我的意思是wtf可以这样做. (11认同)
  • 2017年和我的Eclipse现在使用1.7GB的RAM,几乎没有额外的插件.必须要结束这种疯狂. (11认同)
  • 2016年仍然面临这个问题.我的意思是1GB的Ram空间被日食所占据.关闭拼写检查插件也没有帮助. (10认同)
  • 很好的答案.1个插件,大约50个其他我从未听说过/从未使用过的.(注意自己,开始使用IntelliJ) (5认同)

Ebr*_*ner 9

+UseG1GC从 eclipse.ini 中删除选项。我从这里读到它仅用于大约 6GB 堆内存。

  • 是的,这对我有用。我用 `-XX:+UseSerialGC` 替换了 `-XX:+useG1GC`,内存问题就消失了。听起来像是 G1GC 中的一个错误。 (4认同)
  • 切换到 `-XX:+UseSerialGC` 可以减少 > 300mb。竖起大拇指 (2认同)
  • 我想这是最好的答案。为我工作,日食感觉比以前更顺利。只需确保从原始 eclipse.ini 文件进行备份即可。竖起大拇指 (2认同)
  • 通过更改此设置,从 700+MB 变为 380MB。谢谢 (2认同)

Jon*_*eet 8

虽然您可能修改配置,删除各种插件等,但购买更多内存可能更具成本效益.你现在有多少钱?我会考虑一个内存小于2GB的开发者机器,但是我怀疑很多人会把它翻倍......

  • @finnw:是什么让你认为开发人员机器的工作量与用户机器的工作量相似?许多应用程序不需要像IDE一样的资源.您当然应该在低规格的机器上测试*您的应用程序,但这并不意味着*在一台机器上开发*它.事实上,你已经显然已经假设了一个客户端应用程序.如果我正在开发一个针对移动设备的网络应用,我是否应该开发手机? (4认同)
  • 不能同意更多.1GB的RAM只需20-30美元.你的时间值多少钱?获取一组插件在Eclipse中工作是很辛苦的工作,没有不必要地填充它(可以说). (3认同)
  • 我的最大容量为2GB(这是一台旧笔记本电脑).问题是,一旦加载了BlackBerry模拟器,Visual Studio(Web服务)和Chrome(在Web上查看内容),笔记本电脑就会出现问题.但Eclipse是迄今为止最大的罪犯.3.3或3.2版本并没有那么糟糕. (2认同)
  • 完全不同意.出于这个原因,开发者机器应该比预期的最终用户机器低*至少50%(CPU和RAM). (2认同)
  • @Nate:这是直接的问题,但是经常在Stack Overflow上查看*问题*比问题*更有用.如果有人在SQL中连接值而忘记了一些引号,那么*问题*的直接答案就是添加引号,但*problem*的解决方案是参数化SQL.如果OP关注400MB,那么在我看来,开发人员机器普遍缺乏内存是更大的问题. (2认同)

Mar*_*ark 8

在Eclipse Luna 4.4.1中 试图减少Eclipse中的内存使用量.我设法从600mb到300mb剃了我的.我做了以下事情:

  • 关闭我没有使用的启动时激活的插件. Windows>首选项>常规>启动和关闭

  • 我当时没有参与的封闭项目.

在这里找到提示/提示:http://blog.elijaa.org/2010/09/20/tricks-to-speed-up-eclipse-php-helios-pdt-2-2/


maa*_*aaw 8

检查General -> Show heap status将启用此功能

Eclipse堆状态栏

在底栏.这样,您可以通过单击垃圾桶手动运行垃圾收集器.这不是一个修复,更像是一种解决方法,但它有助于大幅减少我的RAM/CPU使用率.

  • 这有助于我确定为eclipse分配的4GB RAM实际上并未被使用,即使操作系统显示4GB正在使用中.我减少了分配给eclipse的RAM量,以帮助释放其他应用程序的RAM. (2认同)

Ric*_*ler 6

Eclipse的现代版本需要相当多的RAM才能完成它们的工作.但是在任何现代机器上都应该运行得非常快.

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

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

你应该得到这样的东西:

...
-vmargs
-Xms128m
-Xmx1024m 
-XX:MaxPermSize=128m
Run Code Online (Sandbox Code Playgroud)

  • 链接坏了. (5认同)

Mik*_*ike 6

我的Eclipse占用800MB以上,2GB虚拟(其中一部分也可以换掉).Java 可能很糟糕,它总是给Java带来不好的压力.

但是,有一些东西很多人都不知道:增量垃圾收集器.-Xincgc 副作用是它不时地将记​​忆交还给系统.默认情况下,Java只需要接受,当它不再需要内存时,它就会保留它自己.incgc是一种不同的策略,假设可以将内存传回系统而不会遇到麻烦变得更加合理.但这会影响性能.

垃圾收集设置很多.您还可以有多个线程处理GC.并行GC就是这样做的.不确定那个人是否有记忆回来,不这么认为.

  • 事情变了.Java 8中的默认GC现在是一代分类垃圾收集器,它还将内存交还给系统.你不再想用它来嘲笑...... (3认同)