已缓存文件
简要回答
已缓存文件是macOS为提升性能而放在原本闲置的内存中的文件大小。App需要时,系统会把这部分内存让给App。
从内存读取文件比从磁盘读取更快,所以macOS会把最近用过的文件放在本来会空着的内存中。再次打开同一个文件或App时,它会载入得更快。
在活动监视器中,“已缓存文件”与“已使用内存”分开显示,因为App需要时可以使用这部分内存。
“已缓存文件”数值高是问题吗?
不是。闲置的内存什么也不做,所以macOS会让它派上用场。App需要内存时,macOS会丢掉缓存数据来腾出空间。“已缓存文件”数值大,通常说明还有充足的内存可用。
应该清除已缓存文件吗?
没有必要。清除缓存会让文件重新从磁盘载入,在缓存重新填满之前,Mac可能会感觉更慢。那些号称用这种办法释放内存的工具,大多是在撤销macOS刻意做的事。
“已缓存文件”与“已使用内存”和“物理内存”的关系
活动监视器“内存”标签页的底部显示“物理内存”“已使用内存”“已缓存文件”和“已使用的交换”。“物理内存”是安装的RAM。“已使用内存”是App和系统占用的部分。“已缓存文件”是存放文件副本的内存,App随时需要都可以拿回去用。
“已使用内存”和“已缓存文件”加起来,可能占去几乎全部“物理内存”。这很正常。这说明macOS在让RAM发挥作用,而不是让它空着。
Apple的指南是这样说的:“macOS通过高效地使用和管理电脑的全部内存来获得最佳性能。”空闲的内存不会让Mac变快,存着有用数据的内存才会。
为什么“已缓存文件”会时大时小
Apple对“已缓存文件”的说明是:为提高性能而缓存到未使用内存中的文件大小。这个数值会随着你的工作变化:
- 打开大文件、启动App、拷贝文件或运行备份后,它会增长,因为这些文件是从磁盘读出来的。
- 只要没有别的东西需要这些内存,它就会一直很大,因为缓存的数据会一直留着,直到被替换。
- 当App需要更多内存、macOS把缓存内存交给它们时,它会缩小。
- 重新启动后它从很小开始,随着你使用Mac又会慢慢填满。
“已缓存文件”什么时候能告诉你有用的信息
“已缓存文件”数值大从来都不是问题。数值小倒可能是一条线索。如果“已缓存文件”很小,内存压力是黄色或红色,而且“已使用的交换”在增长,说明App几乎占用了全部RAM,留给缓存的已所剩无几。
这种情况下,要看“内存”列找出是什么在占用内存,而不是看缓存。Apple把文件缓存内存列为内存压力的计算依据之一,所以图表已经替你把缓存考虑进去了。
“已缓存文件”就是磁盘上的缓存文件夹吗?
不是。活动监视器中的“已缓存文件”是RAM中的内存。~/Library/Caches这类文件夹中的App缓存,是存储在磁盘上的文件。
删除磁盘上的缓存文件夹,并不会像人们期望的那样让Mac变快,而且App在使用过程中还会重建这些缓存。它对内存压力也没有任何帮助。
如果你真正需要的是更多可用磁盘空间,就打开“系统设置”,选择“通用”,然后选择“储存空间”。它会显示磁盘上是什么在占用空间,并建议释放空间的方法,这比手动删除资源库中的文件夹更安全。
常见问题
活动监视器中的已缓存文件是什么?
它是macOS用来把最近用过的文件准备好的内存,让这些文件打开得更快。App需要时可以把它拿回去。
应该清除Mac上的缓存内存吗?
不应该。App需要内存时,macOS会自动释放它,清除它反而可能让运行变慢。
已缓存文件算作已使用的内存吗?
活动监视器把它与“已使用内存”分开列出,因为App需要时可以使用它。
为什么我的Mac上“已缓存文件”这么大?
因为Mac有App此刻没在用的内存,macOS就用最近用过的文件把它填满,让这些文件打开得更快。数值大是好迹象。
应该运行sudo purge来清除“已缓存文件”吗?
不应该。purge命令会清空磁盘缓存,它的手册页把它描述为一种为性能测试重现刚启动时状态的方法。它不会释放App已分配的内存,而且在缓存重新填满之前,文件加载会更慢。
清除App缓存能释放RAM吗?
不能。磁盘上的缓存文件夹和活动监视器中的“已缓存文件”数值是两回事。删除它们并不能释放App可用的内存。
相关条目
分步指南:如何释放Mac的内存。
想找比活动监视器更好的工具?请看Mac上最好用的活动监视器替代品,或者浏览术语表中的所有条目。