macOS基于Unix,这意味着其内存管理非常强大。但是,它并不完美,因此您可能仍然会看到一条错误消息,告诉您“您的系统已耗尽应用程序内存。” 这是什么意思,为什么会发生?我们将解释导致错误的原因以及解决方法。https://www.macv.com/news/185.html
“您的系统已耗尽应用程序内存”是什么意思?
- macOS将用于活动进程的数据存储在RAM中。如果RAM中的空间不足,macOS将开始在主引导驱动器上存储数据,并根据需要在其中与RAM之间交换数据。这称为虚拟内存。因此,引导驱动器上应始终具有相当大的可用空间-10%是一个很好的经验法则。如果启动驱动器上没有足够的空间来存储应用程序的临时文件,则会显示错误消息,告知您系统的应用程序内存已用尽。
为什么会发生?
- 尽管有很多原因可以导致出现此错误消息,但正如我们所说,macOS的内存管理非常好,因此,如果您看到此消息,则应采取措施。
原因包括:
启动驱动器上的磁盘空间不足
同时打开许多应用程序
打开许多浏览器选项卡
应用程序“占用”内存
避免看到错误消息的最佳方法是确保引导驱动器上保留尽可能多的磁盘空间。最简单的方法是定期运行CleanMyMac X的系统垃圾模块。这个方便的工具使您可以轻松识别和删除各种垃圾文件。其中包括应删除的临时文件,但不缓存文件和旧日志。只需单击几下,即可快速释放几GB的空间。
您也可以通过其他方法解决该问题。
1.重新启动Mac
- 这是您应该尝试的第一件事。重新启动Mac会清除缓存和其他临时文件,并退还用作虚拟内存的磁盘空间。
2.更新macOS
每当您在Mac上遇到问题时,最好检查是否有可用的更新,以防问题是一个错误并且更新中有针对此问题的修复程序。
单击苹果菜单,然后选择关于本机。
选择软件更新。
如果有可用更新,请按照屏幕上的说明进行安装。
3.使用苹果的存储管理
- Apple提供了一些有用的工具来帮助您管理启动驱动器上的空间。
单击苹果菜单,然后选择关于本机。
选择存储选项卡。
按管理。
选择“建议”,您将看到Apple建议您释放存储空间的操作的列表。确定您要采取的建议并按照说明进行操作。
4.更新应用
- 与macOS一样,可能是您正在运行的一个或多个应用程序存在一个错误,导致其占用内存。您应该检查这些应用程序是否有可用的更新。对于从App Store下载的应用程序,您可以在Store上进行。对于其他应用程序,请单击屏幕左上角的应用程序名称(应该有“检查更新”选项)。
5.关闭您不使用的应用程序
- 不使用应用程序时,让它们在后台运行会占用大量虚拟内存。最好在停止使用应用程序时退出应用程序。按Option-Command-Esc键打开“强制退出”菜单。如果您当前不使用某些程序,请退出它们。
6.关闭浏览器选项卡
- 现代网络浏览器可以同时打开许多选项卡,以至于我们中的许多人整天都在打开许多选项卡。然后我们想知道为什么我们的Mac运行缓慢。保持选项卡保持打开状态意味着它们会在后台更新,从而占用内存和其他系统资 源。您经常使用的书签标签,然后在使用完毕后将其关闭。
如何使用活动监视器检查Mac上的内存
- 如果您已完成上述所有步骤,但仍收到相同的错误消息,则需要做一些侦探工作来找出问题的根源。macOS为此工作提供了一个很棒的工具-活动监视器。它使您可以查看Mac上当前正在运行的所有进程,并根据它们消耗的系统资 源(包括RAM)列出它们。这样,您可以查看哪些进程占用内存,并可能导致错误消息,然后将其退出。
转到应用程序>实用程序,然后启动活动监视器。
单击“内存”选项卡以查看消耗内存的进程列表,包括应用程序和浏览器选项卡。
选择一个进程或应用程序,然后单击“ X”符号将其关闭。
7.查看浏览器扩展
过时或错误的浏览器扩展程序可能是Mac内存问题的另一原因,可能导致相同的错误消息。查看您使用的每种Web浏览器中的扩展,并确定是否使用它们,或者是否可以禁用或删除它们。
在Safari中,您可以在“偏好设置”>“扩展”中找到扩展。在Chrome中,您可以通过在地址栏中输入chrome:// extensions来访问它们。
8.卸载应用程序
- 某些应用程序在Mac上会占用数GB的空间,因此,如果不使用它们,则可以卸载它们。
9.安装更多的RAM
最后的办法,也是最昂贵的选择,就是如果可以的话,在Mac上安装更多的RAM。拥有更多的物理内存将意味着macOS需要更少地使用启动驱动器来存储交换文件。但是,并非所有Mac都可以在购买后升级RAM,对于那些Mac,通常意味着要去Apple Store或授权的服务中心。
有很多原因可能会导致您看到一条错误消息,告知您系统的应用程序内存已用尽。但是它们都指向同一件事–引导驱动器上的空间不足。因此,最简单的解决方案是释放更多空间。但是,您应该按照上述步骤操作,以确定是否有问题的应用程序占用了过多的内存。