Xcode使用大内存,吃掉内存中的所有内存[关闭]
Posted
技术标签:
【中文标题】Xcode使用大内存,吃掉内存中的所有内存[关闭]【英文标题】:Xcode uses big memory, eats all memory in ram [closed] 【发布时间】:2012-09-06 07:36:31 【问题描述】:我在我的 Mac 上使用 Xcode,它有 8GB 内存。当我打开 Xcode 并且不打开任何项目并等待大约 2 分钟时,Xcode 会吃掉 ram 中的所有内存,(4GB,5GB ...)
谁能告诉我为什么以及如何解决这个问题?
【问题讨论】:
绝妙的问题,将真正帮助 Xcode 开发人员。 【参考方案1】:我也一直在研究这个问题。我认为一种解决方案(我需要归功于用户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 添加到控制器标题(需要以旧方式进行 - 输入然后连接),可能还有一些其他有用的功能附带索引。所以要注意。
【讨论】:
请注意,它是defaults write com.apple.dt.Xcode IDEIndexDisable 1
,它是小写的c。第一个命令是正确的,第二个不是。
使用这个答案。然后 sudo purge
@thakis 似乎不区分大小写。
我失去了使用 IDEIndexDisable 的自动完成功能。没事吧?【参考方案2】:
找到了临时解决方案here
每隔一段时间运行一次该命令,它对我的 8GB 空间有帮助
【讨论】:
我试过清除命令,但它对我的内存配置没有影响。那是在 OS X 10.8【参考方案3】:我很惊讶我没有在这里阅读真正的答案/问题,尽管没有解决方案。我看到您提到您甚至不必打开项目,但通常在使用情节提要时会出现问题。我已经确认了这一点,向 Apple 发送了示例,提交了错误报告,等待新版本,还没有。在编辑故事板视图时,某处存在泄漏。如果您正在编辑原始代码,您将永远不会看到内存使用量增加,但是当您开始编辑具有多个视图的情节提要时,就会出现问题。我目前运行 24GB 的内存,在故事板中编辑视图时可以在不到一个小时的时间内使用它。就像其他人提到的那样,唯一的解决方案是重新启动 Xcode。仅仅关闭项目是不够的。
【讨论】:
【参考方案4】:我遇到了同样的问题,但与 Interface Builder 和 Storyboard 访问有关。
经过一番思考,很明显,在我的项目中的 Storyboard 文件放大到一定数量(目前磁盘上大约 1.5MB)后,XCode 和 IB 出现了问题。
在更改某些(例如 IBLabel)对象中的文本时,每个字母大约需要 0.5 秒,而更改 6 个字符的单词需要 3 秒。这让我很慢。
XCode 重启帮助并释放所有占用的内存...直到下一个工作会话。
我有强烈的印象,IB 在每次更改(例如更改单个字母)后都会创建撤消缓冲区,因为在每次更改后,内存占用量会增加约 20 MB(可能 RAM 中的 Storyboard 大小,在磁盘上为 1.5 MB)。
XCode 重启后,undo 缓冲区已经消失,相应的内存也被释放了。
我想知道一种限制撤消缓冲区大小的方法,并用较小的大小对其进行测试。
配置为:Mac Mini、4 GB RAM、OS X 10.8.3、XCode 4.6、XCode 4.6.1、XCode 4.6.2
我目前回到 XCode 4.5,情况似乎好一点,但问题仍然存在。我想这个版本的功能比 4.6 少,因此它使用的内存更少。
好的,看起来 XCode 4.5 实际上可以释放 Interface Builder 分配的一些内存。
2013 年 5 月 21 日更新: 我从 4GB 升级到 Mac Mini 2011 8GB RAM,还没有发现问题。
【讨论】:
【参考方案5】:这个问题没有真正的解决办法。
在许多网站上都有讨论。帮助我解决这个问题的唯一解决方案是, 现在重新启动 XCode。我认为这个问题不会有真正的解决方案。
【讨论】:
我成功卸载了我的xcode,并从苹果再次下载 我成功卸载了我的xcode,并从苹果再次下载,但没有任何反应 是的,卸载并再次下载对您没有帮助。没有办法解决这个问题。时不时重新启动它,你会没事的。 如果没有办法解决这个问题,必须格式化并在我的 MacBookPro 中重新安装 mac os :( 不,你拿 MacBook Pro 把它扔进垃圾箱。重新安装 Mac Os 也不能解决这个问题。这是一个已知(每个人都知道)问题,每个人(就像每个使用 xcode 的人一样)都必须处理它。偶尔重启一下新程序就没事了。【参考方案6】:XCode 是一个真正的内存怪物,如果您尝试使用其中一种“工具”,它会吃得更多。根据任务的不同,有些人没有那么多问题,特别是如果他们有更多的记忆。
我个人是从 2GB 开始的,而 XCode 只是……很痛苦
升级到 8GB 后,我只需要不时重启
听说有 16GB 的人不会抱怨那么多,每天只需要重启一两次 XCode。
在我看来,你在 2 分钟后就用完了所有的记忆,这让我觉得很奇怪。我可能猜想您的某些设置使所有 XCode 泄漏变得更糟。您是否尝试过删除所有 ~/Library/Developer 文件夹和设置文件?
【讨论】:
以上是关于Xcode使用大内存,吃掉内存中的所有内存[关闭]的主要内容,如果未能解决你的问题,请参考以下文章