mac osx占用内存迅速增加

时间:2012-06-22 09:57:30

标签: macos

我注意到当我运行Xcode时特别是开始运行Interface builder。 Mac osx占用内存迅速增加。 不仅是xcode,还有一些其他应用程序也会在运行一段时间后导致内存占用过多。 即使我的mac的内存是4GB,有一段时间我必须使用工具来释放内存。 什么是原因以及如何避免这种情况发生在我开发的mac应用程序中?

欢迎任何评论

1 个答案:

答案 0 :(得分:0)

我刚刚在Qt应用程序中遇到过类似的东西(但可能不一样)。

我正在阅读和校验大量文件并且可用内存不断下降,尽管我的应用程序“真实内存”保持稳定的50 MB。然而,“非活动记忆”的数量不断攀升。

发生的事情是我读取的每个文件都被添加到磁盘缓存中。磁盘缓存消耗的内存显然被标记为“非活动”,根据apple(http://support.apple.com/kb/HT1342),它应该像“免费”内存一样可用,但这并没有阻止OSX在​​“免费”时开始交换“达到50以下MB。

在C:

  #include "fnctl.h"
  fcntl(f.handle(),F_GLOBAL_NOCACHE,1);

通过绕过该文件描述符的磁盘缓存来修复此问题。

还可以使用“purge”命令从命令行完成释放非活动内存(如果这确实是您的问题)。