Mac OS X 使用超过 4 GB 的内存,没有任何运行

use*_*120 6 memory macos

当几乎没有运行时,我的 Mac 似乎使用了可笑的内存量。重新启动计算机后立即启动,仅启动终端和活动监视器。

当只有两个进程正在运行且内存使用根据“活动监视器”并且htop接近 1GB时,怎么可能使用接近 5GB 的 RAM ?任何帮助或见解将不胜感激。

htop 显示这个:

在此处输入图片说明

“活动监视器”显示:

在此处输入图片说明

Gia*_*968 17

这很容易解释。来看看刚才在我的 Mac OS X 10.9.5 系统上截取的“Activity Monitor”的截图:

在此处输入图片说明

以此作为参考,让我们根据屏幕截图右下角的项目进行一些数学计算:

  • 应用内存: 1.59GB
  • 文件缓存: 1.32GB
  • 有线内存: 1.30GB

将这些数字相加,总数为:4.21GB,这与已用内存的值 4.21GB 完全匹配。

那么应用内存、文件缓存和有线内存有什么区别呢?所有这些都在 Apple 自己的支持文章中得到了非常明确的回答,标题为“使用活动监视器读取系统内存并确定正在使用的 RAM 量”(适用于 Mac OS X 10.8.5 及更早版本)或这篇文章“如何使用活动Monitor”,适用于 Mac OS X 10.9 及更高版本。以下是后一篇文章中的相关定义,因为根据您的屏幕截图,您使用的是 Mac OS X 10.9 或更高版本:

  • 应用程序内存:应用程序及其进程当前使用的内存总量。
  • 文件缓存:应用程序最近使用的内存,可供其他应用程序使用。例如,如果您一直在使用邮件,然后退出邮件,邮件使用的 RAM 将成为文件缓存的一部分,然后可供其他应用程序使用。如果在其他应用程序使用(覆盖)其文件缓存内存之前再次打开邮件,则邮件会打开得更快,因为它的文件缓存会转换回应用内存,而不是从启动驱动器加载其所有内容。
  • 有线内存:无法压缩或调出到启动驱动器的内存,因此必须保留在 RAM 中。一个进程使用的内存不能被其他进程借用。应用程序使用的有线内存量由应用程序的程序员决定。

现在看看这些定义,似乎“非活动”RAM 的最大用户实际上是文件缓存 RAM 区域。由于它是一个缓存,如果系统需要,它可以立即被覆盖/重新分配。但由于它确实是一个cache,如果您重新启动以前使用该缓存内存的应用程序,该应用程序将启动得更快。

因此,知道这一点,您可以安全地假设文件缓存使用的 1.32GB 内存实际上可以被视为“空闲”内存,因为系统会在可能的情况下抓取并使用它。而且——当然——它还有一个额外的好处,那就是加快启动/使用过去的应用程序,如果这些应用程序被启动或再次使用,这些应用程序会将内容保存到该文件缓存中。

另外,请注意“活动监视器”下方中心的运行图称为“内存压力”。正如苹果描述的那样:

内存压力图有助于说明内存资源的可用性。

也就是说,“内存压力”图是 Apple 的一次尝试,旨在帮助可视化现代 Mac OS X 系统上内存管理的相对复杂性,因为——如您所见——通过只盯着原始数字来破译内存使用情况可能是有时令人困惑。