答案1
我相信您在这里看到的是内存压缩的效果,这是 OS X Mavericks 引入的功能。
苹果文章 在 Mac 上的“活动监视器”中查看内存使用情况 描述如下:
已用内存:已使用的 RAM 量。在右侧,您可以看到内存分配的位置。
应用程序内存:应用程序正在使用的内存量。
有线内存:系统运行所需的内存。此内存无法缓存,必须保留在 RAM 中,因此其他应用无法使用。
已压缩:已压缩的内存量,以提供更多的可用 RAM。
当您的计算机接近其最大内存容量时,内存中的非活动应用程序将被压缩,从而为活动应用程序提供更多内存。选择“压缩内存”列,然后查看每个应用程序的“VM 压缩”列,以查看为该应用程序压缩的内存量。
将此应用到您的数字中,我们发现 Blender 总共使用了 35.40 GB 内存。但是,我们发现其中 32.47 GB 属于压缩内存。剩下 35.4-32.47=2.93 GB未压缩Blender 的内存。
这与给出的“应用程序内存:2.54 GB”的数字更相关,这意味着其中一些未压缩的内存被换出了。
统计数据没有说明压缩内存的占用空间是多少,但从数字中我们可以得出结论,Blender 数据的压缩性非常高,也许是因为有许多重复的字节。
这个结论是基于我们看到的使用的实际内存和交换内存的总量:
- 应用程序内存:2.54 GB
- 压缩后:1.29 GB
应用程序使用的总 RAM 为 3.83 GB。
我们为此添加使用的交换空间:5.58 GB。
这些应用程序总共使用了 9.41 GB 的内存,其中大部分被交换出去了。Blender 似乎占用了其中的大部分。
Apple 使用的压缩算法非常令人印象深刻。我们看到一台配备 8 GB RAM 的 Apple 计算机可以毫无问题地支持 35.40 GB 的应用程序,正如绿色的“内存压力”图所示。
内存压缩情况显示在“内存压力”图表中,该图表表明操作系统在压缩 RAM 数据方面的积极程度。当 RAM 空间不足且必须将内存交换到驱动器时,图表会从绿色(压力小)变为黄色(压力大),最后变为红色。
运行 35.40 GB 的应用程序时,内存压力图显示只有“一点压力”。压缩系数确实非常令人印象深刻,我估计这个系数大约为 3(或多或少)。
答案2
除了压缩和系统级交换之外,另一种技术可能也很重要。如果文件映射到内存,它不一定完全驻留在内存中。至少对于未改变的部分,系统可能会将原始文件用作某种特定于文件的交换文件。我不知道这在 MacOS 中是如何实现的,我只是想将其添加为答案的可能部分。