无法理解MacOSX中的非活动内存

Ven*_*hev 9 macos memory-management

我以为我理解MacOSX如何管理内存,但最近我对它的性能感到困惑.情况如下:

  1. 我有一个全新的Core i7系统,8GB的物理内存运行MacOSX 10.6.7.
  2. 有一些应用程序经常运行占用一些内存 - Safari,Mail,Xcode,终端等.
  3. 我需要并行运行三个64位进程,每个进程使用大约2000M的实内存.
  4. 虽然有线内存保持在1000M以下(即我有超过7000M可用于进程),但我看到大量的分页活动导致我启动的三个内存密集型进程的性能非常糟糕.
  5. 显然,我没有耗尽可用内存,因为报告的非活动内存大约保持在2500M,活动内存不会超过5000M.

任何人都可以给我一个线索,为什么MacOSX不会为需要它的进程释放非活动内存,而是采用分页?另外,有没有适当的方法来影响系统的内存管理?

我唯一想到的是32位内核可能是限制因素,尽管我不确定原因.我知道您可以使用64位内核启动MacOSX,但之后我将无法加载许多32位应用程序,因此这对我来说不是一个选项.

Ven*_*hev 8

好吧,显然所需的解决方法是purge在MacOSX上使用该命令.这将清除将大多数非活动内存标记为空闲的缓存.似乎操作系统保留尽可能多的非活动内存以提高GUI的响应能力,这不幸地影响了一些内存密集型工具的性能.

在姐妹网站上有一些提供一些额外信息的帖子.

我想知道MacOSX Server是否可能被调整为非GUI进程释放更多的非活动内存......