App内存
简要回答
App内存是App及其进程正在使用的内存量。它和“联动内存”“被压缩”一起,构成活动监视器中的“已使用内存”。
活动监视器的“内存”标签页把“已使用内存”分为“App内存”“联动内存”和“被压缩”。App内存是你最能控制的部分,因为它随你运行的App增减。
它既包括程序坞中的App,也包括后台进程和帮助程序。
如何找出是什么在占用App内存
在“内存”标签页中按“内存”列排序。记住,浏览器这类有很多帮助程序的App会分散在好几行中,要把它们加起来才能看到这个App的实际总量。
什么时候需要担心
App内存数值大,本身不是问题。看看内存压力:如果是绿色,Mac就应付得来。如果某个App在你没多做什么的情况下,App内存连续几小时不断攀升,它可能存在内存泄漏,退出后重新打开就能释放这些内存。
“App内存”在“已使用内存”中的位置
在活动监视器“内存”标签页的底部,“已使用内存”被分成三部分:“App内存”“联动内存”和“被压缩”。“物理内存”是安装的内存总量,“已缓存文件”单独列出,因为App需要时可以把它收回来用。
活动监视器对“App内存”的说明是:App和系统进程已分配的物理内存。所以它不只是程序坞里的那些App。macOS为你运行的后台服务也计入其中。
打开App和文稿时,“App内存”会上升;退出它们时,它会下降。这是“已使用内存”中你可以直接改变的那部分。
如何找出哪个App占用内存最多
- 打开活动监视器,点按“内存”标签页。
- 选取“显示”>“所有进程,分层显示”。很多帮助程序进程会显示在启动它们的进程下面,这样更容易看出它们属于哪个App。
- 点按“内存”列标题,按它排序。
- 连按一个进程,或者选择它并点按“信息”按钮,打开它的详细信息。该窗口的“内存”标签页会显示“实际内存大小”“专用内存大小”和“共享内存大小”等数值。
- 退出你没在用的App,观察窗口底部的“App内存”和“内存压力”。
- 你不认得的系统进程就别去动。其中很多退出后会立即重新启动,有些是Mac运行所必需的,所以退出它们并不能让“App内存”长时间降低。
如何在“终端”中查看App的内存
macOS自带一个名为footprint的命令,可以显示一个App的内存是如何使用的。它只读取信息,不做任何更改。比如,运行footprint Safari可以查看Safari浏览器的主进程。
输出会按类别列出内存,最后给出总数。在Auxiliary data下面,phys_footprint是当前数值,和活动监视器“内存”列中显示的是同一类数字;phys_footprint_peak是这个App打开以来的最高值。峰值远高于当前值,说明App曾经需要大量内存,之后又归还了其中很多。
你自己拥有的进程,不需要额外步骤就能查看。要查看属于系统或其他用户的进程,footprint需要以root身份运行。
“App内存”偏高的常见原因
只要内存压力是绿色,“App内存”偏高就是正常的。当你没有打开任何新东西,“App内存”却不断上升,而内存压力变成黄色或红色时,才是问题。常见原因有:
- 浏览器,每个标签页和扩展都可能在自己的进程中运行。
- 用网页技术构建的聊天、邮件和其他App,它们也会运行多个帮助程序进程。
- 把大文件留在内存中的照片、视频、音频和3D App。
- 虚拟机和开发工具。
- 开了好几天、还在不断增长的App。
常见问题
Mac上的App内存是什么?
它是App及其进程使用的内存,在活动监视器的“内存”标签页中作为“已使用内存”的一部分显示。
为什么我的App内存这么高?
通常是因为浏览器开了很多标签页、打开了大型文稿或项目,或者有App越用越大。按“内存”列排序,就能找到占用最多的。
如何降低App内存?
退出不用的App,关掉浏览器标签页,并重新启动那些不断变大的App。
“App内存”包括系统进程吗?
包括。活动监视器对它的说明是App和系统进程已分配的物理内存,所以除了你打开的App,后台服务也计入其中。
“App内存”和“已使用内存”是一回事吗?
不是。“App内存”是“已使用内存”的一部分。“已使用内存”还包括“联动内存”和“被压缩”。
内存清理App能减少“App内存”吗?
只能维持片刻。它们把数据挤进压缩内存或交换,而这是macOS在需要空间时本来就会自己做的事,而且当你切换回那些App时,它们会变慢。退出不需要的App效果更好。
相关条目
分步指南:Chrome占用内存过多。
想找比活动监视器更好的工具?请看Mac上最好用的活动监视器替代品,或者浏览术语表中的所有条目。