2012-09-06 66 views
11

我在我的Mac上使用Xcode,它有8GB内存。当我打开Xcode并且不打开任何项目并等待大约2分钟时,Xcode吃完所有内存(4GB,5GB ...)Xcode使用大内存,吃内存中的所有内存

有人可以告诉我为什么以及如何解决这个问题吗?

+1

奇妙的问题,这将真正帮助Xcode开发人员。 – bobobobo

回答

0

这个问题没有真正的解决方法。

它在很多网站上都有讨论。帮助我解决这个问题的唯一解决方案是, 现在重新启动XCode。我不认为这个问题会有真正的解决方案。

+1

我成功卸载了我的xcode,并从苹果再次下载 – user1651186

+0

我成功卸载了我的xcode,并从苹果再次下载它,但没有任何反应 – user1651186

+0

是的,卸载并再次下载它不会帮助你。围绕这个问题没有办法。只需重新启动它,然后,你会没事的。 –

0

XCode是一个真正的记忆怪物,如果你尝试使用其中一种“乐器”,它会吃得更多。根据任务不同,有些人没有那么多问题,特别是如果他们有更多的记忆。

个人而言,我开始与2GB和XCode的只是......痛苦

升级到8GB后,我不得不现在重新启动每然后

我听说人们16GB不要抱怨太多,而且必须每天重新启动一次或两次XCode。

对我来说,看起来很奇怪你在2分钟后使用了所有的记忆。我可能猜测你的一些设置让所有的XCode泄漏最严重。你有没有尝试删除所有〜/ Library/Developer文件夹和设置文件?

2

找到一个临时解决方案here

运行,在一段时间命令每一次,它与我的8GB帮助

+0

我试过清除命令,但它对我的内存配置没有影响。这是在OS X 10.8 – vedrano

2

我很惊讶,我虽然没有在这里没有读真正的答案/问题解。我看到你提到你甚至不需要打开一个项目,但通常在使用故事板时会出现问题。我已经证实了这一点,向苹果公司发送了例子,提交了错误报告,等待新版本发布,但还没有。在编辑故事板视图时,某处会出现泄漏。如果您正在编辑原始代码,您将永远不会看到内存使用率增加,但第二次您开始编辑具有多个视图的故事板并解决问题。我目前运行24GB的内存,并且可以在不到一个小时内在故事板中编辑视图时使用。和其他人一样,唯一的解决方案是重新启动Xcode。简单地关闭该项目并不够好。

5

我也一直在调查这个问题。我认为一个解决方案(我需要相信用户justin)是为Xcode设置多个配置值。它应该在退出Xcode之后完成。

在终端执行以下命令:

defaults write com.apple.dt.XCode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4 

defaults write com.apple.dt.XCode IDEIndexDisable 1 

这将防止索引和减少的编译任务的数量。这让我的Xcode为我实际做了一些工作留下了一些RAM。

删除这些设置,比如索引:

defaults delete com.apple.dt.XCode IDEIndexDisable 

如前所述,这在this question进行了讨论。

另外,清理Xcode缓存允许降低RAM被吃掉的速度。 (在〜/ Library/Developer/Xcode/DerivedData - 它位于你的家庭目录中,而且它可能是隐藏的,所以更容易与终端访问)。

编辑/更新:

显然,这有助于内存问题(虽然仍需要定期重新启动的Xcode)。然而,你正在失去一些不错的东西:即时错误检查,控制拖放IBOutlet添加到控制器头(需要以旧方式 - 输入然后连接),可能还有其他一些有用的功能来索引。所以要注意。

+1

请注意,它是'默认写入com.apple.dt.Xcode IDEIndexDisable 1',它是一个小写的c。第一个命令是正确的,第二个命令是不正确的。 – thakis

+0

使用此答案。然后sudo purge – RemembranceNN

+0

@thakis它似乎不区分大小写。 – devios1

1

我面临同样的问题,但与Interface Builder和Storyboard访问相关。

经过一番思考,很明显,在我的项目中的Storyboard文件放大到一定数量(目前磁盘上大约1.5MB)后,XCode和IB出现问题。

在更改某些(例如IBLabel)对象中的文本时,每个字母需要大约0.5秒,而更改6个字符的单词需要3秒。这让我减慢了很多。

XCode restart帮助并释放所有占用的内存......直到下一个工作会话。

我有很强烈的印象,IB在每次更改(例如更改单个字母)后都会进行撤消缓冲,因为在每次更改后,内存占用空间会扩大20 MB(可能是Storyboard在RAM中的大小是1.5 MB)。

XCode重新启动后,撤销缓冲区已经消失,并且相应地释放了一些内存。

我想知道一种方法来限制撤消缓冲区大小,并用较小的尺寸进行测试。

配置为:Mac mini上,4 GB RAM,OS X 10.8.3时,Xcode 4.6,XCode的4.6.1,4.6.2的XCode

我现在回到了XCode 4.5,情况似乎更好一点但问题仍然存在。我想这个版本的功能比4.6更少,根据它的差异,它使用更少的内存。

好吧,好像XCode 4.5实际上可以释放一些Interface Builder分配的内存。

5月21日更新。2013年: 我从4GB升级到Mac Mini 2011 8GB RAM,但没有注意到问题。