内存泄漏导致我的 M1 MacBook Pro 瘫痪——而且我并不孤单
11/7 更新:自从我撰写本专栏以来,一些 Macworld 读者就 M1 MacBook 遇到了类似问题。一些读者很幸运地禁用了扩展,而其他读者则认为它与 Webkit 有关。还有冗长的 黑客新闻 和 Reddit 线程,用户讲述他们的经历。
在过去 10 个月中,我使用了 13 英寸 M1 MacBook Pro a> 由我的雇主提供。大多数时候它都很棒,具有出色的电池寿命和出色的速度,并且比我之前的 2016 年型号进行了全面的大规模升级。
但有时几乎不可能完成任何事情。与我拥有的任何 Mac 相比,这款 MacBook 经常出现死机、崩溃和重新启动的情况,这通常似乎与内存问题有关。精确定位模式几乎是不可能的,但我认为它是我的公司安装在我的机器上的东西。在本周阅读了大量有关类似问题的报告后,我不太确定。
当Gregory McFadden 发推文称,控制中心在他的新 MacBook Pro 上使用了 64GB RAM 中的 26GB,截图看起来非常熟悉。虽然控制中心对我来说从来没有占用那么多内存,但我在使用 Safari 和 Photoshop Elements 时经常发现峰值,并且在邮件和其他应用程序中发现了更多零星问题。有时,这些问题会导致速度变慢,几分钟后就会自行解决,有时我的机器会锁定并强制重新启动。
很高兴我的新 Mac 配备了 64GB 内存,这样我就可以将其中的 26GB 用于控制中心……等等……什么。 pic.twitter.com/inCOPaii1o
— GregsGadgets (@GregoryMcFadden) 2021 年 10 月 28 日 块引用>
我现在保留活动监视器当我工作时打开它,内存压力监视器很少不是黄色或红色。与大多数 Mac 用户一样,我倾向于让多个应用程序在后台闲置 — 邮件、音乐、Safari、Outlook、Word 等 — 但使用 M1 MacBook,我经常需要退出应用程序以释放应用程序内存。关闭 Safari 选项卡是释放内存并保持机器平稳运行所必需的常规任务。
活动监视器经常以红色显示我的内存压力。
这与我本周读到的 MacBook Pro 和 Monterey 问题极其相似,只不过我仍在运行 Big Sur。这让我相信这是一个更大的问题,直到现在才得到广泛报道。也许是因为开发人员往往对此类问题更加敏感,或者新款 MacBook Pro 中额外的 RAM 加剧了这种情况,但遇到此问题的人数 似乎正在增长。我希望苹果能够关注。
内存丢失
当 M1 芯片发布时,Apple 改变了我们对 Mac 上 RAM 的看法。与 iPhone 和 iPad 一样,内存现在与片上系统固定在同一封装上。 M1 Pro 和 M1 Max 配备了更高的内存选项,但 M1 的最高内存为 16GB,仅此而已。
正如 Jason Snell M1 发布时回复的那样,这个整洁的系统有很多好处:”M1 处理器的内存是一个单一的池,可以由处理器的任何部分访问。如果系统需要更多内存用于图形,它可以分配该内存。如果神经引擎需要更多内存,同样如此。更好的是,由于处理器的所有方面都可以访问所有系统内存,因此当图形核心需要访问以前由处理器核心访问的内容时,不会影响性能。在其他系统上,数据必须从内存的一个部分复制到另一部分,但在 M1 上,它可以立即访问。”
我在撰写本文时收到的此类警告很常见。
macOS 可能无法正确管理这种统一的内存结构,并且将继续分配超出可用范围的 RAM,而不会释放不再需要的 RAM。这通常称为”内存泄漏”。性能逐渐恶化,直到您需要等待 RAM 清理、强制退出应用程序或重新启动计算机。
有时,当没有任何一个应用程序使用那么多内存时,就会出现警告,而有时应用程序似乎使用的内存远多于可用内存。我见过单个网站报告无缘无故地使用了多达 20GB 的 RAM,导致我的机器瘫痪。
Safari 网站内存使用量激增的情况经常发生。
也许现在这是一个更普遍的问题,苹果会解决这个问题。我们已联系 Apple 寻求评论,但尚未收到回复,而且 Apple 完全有可能在未来版本的 macOS 中修复该问题,但从未公开解决过该问题。这就是 SSD 使用过多所发生的情况今年早些时候,苹果表示这是一个”数据报告错误”,而不是一个实际问题。内存错误是一个实际问题,需要尽快修复。
与此同时,有几种方法可以缓解该问题。一是要保持警惕。正如我所说,保持活动监视器打开,当您看到应用程序的内存使用量不断上升时,请解决它。您还可以使用第三方内存清理器来快速清理 RAM。定期运行将有助于保持资源可用。最后,请及时了解最新版本的 Big Sur 或 Monterey,因为修复有望很快到来。