跳到主要内容
Mole
概览 功能 口碑 定价 常见问题 博客
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
立即购买购买 下载

    帮助、文档、更新日志和文章

    首页/博客

    看内存压力,别看已用内存

    性能与散热发布于 2026年8月11日更新于 2026年9月5日约 4 分钟

    打开 活动监视器,点内存,大多数人第一眼看的就是 已用内存,这个数字几乎总是很高,一台 48 GB 的 Mac 开着浏览器和编辑器,轻松就能停在 40 GB,看起来像个要解决的问题。

    其实很少是,macOS 会把买来的内存用满,因为空着的内存什么都不干,系统会用文件缓存把它填满,把最近用过的页留在里面,Mac 是不是真的缺内存,要看同一窗口底部的 内存压力 图,已用内存看着吓人的时候,这条图通常还是绿色。

    短答案: 别管「已用内存」,看内存压力图,绿色就说明占用几乎满了也不是问题,没什么要修的,黄色或红色,下面三个计数器会告诉你为什么。

    为什么「已用内存」本身不能判断问题

    macOS 会主动利用空闲内存,但要分清活动监视器里的几项。Apple 的内存指南把它们定义为:

    行 是什么 要不要担心
    应用程序内存 应用已经分配并且正在用的页 只有某个应用明显离谱时才要
    联动内存 内核不能换出的页 很少能直接处理
    已压缩 为腾地方被压缩、仍在 RAM 里的页 少量正常,持续快速增长才是信号
    已缓存的文件 因为空间可用而保留的文件数据 本身不用担心

    已用内存由应用程序内存、联动内存和已压缩内存组成。已缓存的文件单独显示,它占用原本空着的 RAM,系统需要时可以覆盖。因此,一台健康的 Mac 可以同时显示很高的已用内存和大量已缓存文件,却并不缺 RAM。

    改看压力

    内存压力图是 macOS 自己的判断,看现在能不能既满足分配又不伤性能:

    • 绿色。 请求从空闲或可回收内存里就能满足,已用内存不管多高,都不用管。
    • 黄色。 系统在靠压缩和驱逐跟上节奏,还在干活,但余量没了,再来一次大分配就要付出代价。
    • 红色。 分配在等内存先被腾出来,转圈和切应用变慢就是从这里来的。

    命令行也能读:

    应用分配会先使用可用内存,然后 macOS 回收文件缓存、压缩不活跃页,最后在内存压力升高时把页换到磁盘。
    内存压力描述满足下一次分配要付出的代价,单看已用内存看不出这个代价。
    memory_pressure
    

    值得看的是最后一行:

    System-wide memory free percentage: 74%
    

    同一条命令还会打出推导这个百分比用到的原始计数器,包括页数和交换活动,想要证据而不是颜色的时候有用。

    颜色背后的三个信号

    压力变黄或变红时,三个数字能解释原因,要一起看,单独看任何一个都可能误导。

    已用交换空间。 已被移到磁盘上的内存页,不代表当前一定装不下。

    sysctl vm.swapusage
    
    vm.swapusage: total = 6144.00M  used = 4568.19M  free = 1575.81M  (encrypted)
    

    交换空间不为零本身不是故障,macOS 即使内存宽裕,也会把很久没碰过的页换出去,在 SSD 上这么做的代价很小,真正的信号是交换空间又大、又在工作过程中持续增长。

    压缩活动。 换到磁盘之前,macOS 会先在内存里压缩页。

    vm_stat | grep -i compress
    
    Pages stored in compressor:                  1945157.
    Pages occupied by compressor:                 389440.
    Decompressions:                             82848340.
    Compressions:                              163587315.
    

    用 Mac 的时候 Compressions 涨得很快,说明系统在抢空间,开机好几周的机器上,历史累计很大,单独看没有意义。

    负载下的换入。 从磁盘把页读回来,就是感觉到的卡顿,一台同时在压缩、交换、换入的 Mac,就是典型的转圈状态。

    找出是哪个应用

    把 活动监视器 的内存标签按内存列排序,看最上面几行,不用看整张表,答案通常是下面四种之一:

    • 开了很多标签的浏览器。 每个渲染进程都是独立进程,浏览器的总量会摊到很多行上,Chrome 自己的任务管理器在「窗口」菜单下,能把内存归到单个标签和扩展,具体看 Chrome Helper 占用很高的 CPU 和内存。
    • 虚拟机或容器运行时。 它们会提前预留内存,所以这个数字是配置选择,不是泄漏。
    • 长时间开着的创作或开发应用。 一次使用里内存稳步上涨、再也下不来,值得告诉开发者。
    • 不认识的进程。 杀掉之前先认出来,具体看 怎么排查不熟悉的进程。

    退出应用就行,系统还撑得住的时候,强制退出一个只是占用大的进程,会丢掉没保存的工作,什么也换不来。

    没用的做法

    • 内存清理类应用。 释放内存就是丢掉系统故意建好的缓存,占用条看着好看了,Mac 反而变慢,因为所有东西都要再读回来。
    • 定时跑 sudo purge。 它是为跑基准测试清文件缓存用的,同一个错误换成了命令,名字虽然像,但跟磁盘上的可清除空间没关系,具体看 可清除空间。
    • 关掉马上又要打开的应用。 哪些空闲应用该压缩,macOS 比一套固定流程判断得好。
    • 关掉交换空间。 交换空间是安全阀,拿掉之后被杀掉的就是应用。

    什么时候答案真的是加内存

    Apple Silicon 用的是统一内存,买完就不能加,所以值得先诊断,别靠猜。

    日常工作里压力一直黄或红,一次使用中交换空间稳步上涨,占最多的又都是必须同时开着的东西,这时才该买更多内存,压力是绿色,只是被「已用内存」吓到,加内存感知不到任何变化。

    监视器摆在哪

    Mole 的「状态」和菜单栏把内存压力、CPU、温度与进程放在一起,便于对照卡顿发生时的读数,这些监视界面只读取数据,不会释放内存。「优化」是另一项操作,其中的内存释放仅在系统报告警告或严重压力时执行,压力正常时会跳过。

    常见问题

    Mac 上已用内存高是坏事吗?

    不一定,用量高但压力保持绿色,通常说明当前内存仍够用。活动监视器里的「已缓存的文件」和「已用内存」分开统计,不能直接把高用量归因于缓存,要结合压力和实际卡顿判断。

    交换空间多大算太多?

    没有跨机器都成立的阈值,看实际工作时的趋势,别看绝对值,压力黄或红的时候交换空间稳步上涨才是问题,开机好几周的机器上几个 GB 通常不是。

    内存清理应用有用吗?

    它们做了宣传里说的事,这才是问题,丢掉缓存会让空闲内存数字涨上去,接下来几分钟反而更慢,有东西需要的时候,macOS 自己就会回收内存。

    压力是绿色,Mac 为什么还慢?

    那就不是内存卡住了,去看 CPU、过热降频或磁盘,从 Mac 为什么这么慢 开始,那里按顺序过一遍瓶颈。

    Mole 清理缓存和软件残留,不少用户一次就清出了上百 GB。

    下载试用 Mole

    继续阅读

    • 性能与散热Mac 变慢了,可以从哪里排查约 3 分钟
    • 性能与散热查出 Mac 上哪个 App 在占网约 4 分钟
    • 性能与散热Sensei 之外的 Mac 工具怎么选约 8 分钟

    Mole · 鼴

    清理 Mac,管理软件,查看运行状态

    v1.14.0 (242) · 更新日志

    产品

    Mac 清理 App 卸载 Mac 优化 磁盘分析 系统监控

    支持

    帮助 功能文档 更新日志 博客

    法律

    服务条款 隐私政策 退款政策

    资源

    命令行工具 Faberon 出品 推广联盟

    联系

    Twitter hi@mole.fit

    Mole 唯一官网 mole.fit · 请勿下载来源不明的安装包

    命令行版继续免费开源。