# Windows 内存占用很高，就一定需要清理内存吗？

刚开机时内存占用还不高，浏览器开几个标签、微信钉钉挂在后台、再随手打开一个工程，内存占用不知不觉就上去了。看到数字变红，很多人第一反应就是想找工具“一键清理内存”。其实光盯着一个百分比容易自己吓自己，内存占用高和电脑到底卡不卡，并不直接画等号。

## 没被占用的内存，留在那里也是浪费

Windows 会用一部分内存缓存文件数据，下次读取时可能少走一次磁盘访问，并不是缓存越少电脑就越快。任务管理器里所有软件的占用加在一起，往往不等于总占用，因为驱动层、系统内核和文件缓存都在工作。

如果想看极细致的物理内存映射分布，微软官方的 [RAMMap](https://learn.microsoft.com/en-us/sysinternals/downloads/rammap) 可以看得一清二楚。不过日常使用看任务管理器的“性能 › 内存”就足够了。

## 任务管理器里的几组数字，不能混着算

“可用”不只包括完全空着的内存，也包括系统可以回收使用的待机页，所以“已缓存”与“可用”有重叠，不能把它们当成几块互不相交的空间加起来。进程列表里的一列内存又有自己的口径，把每行相加后对不上整机读数，不一定是哪个软件藏了占用。

“已提交”表示 Windows 为程序承诺提供的内存，后面的上限受物理内存和分页文件影响，它也不是“已经写进硬盘的容量”。[微软的分页文件说明](https://learn.microsoft.com/en-us/troubleshoot/windows-client/performance/introduction-to-the-page-file)解释了这组数字，Mole 的提交压力看的是已提交与上限的比例，不能拿它直接判断磁盘是否正在频繁换页。

举个假设的例子，一台 16 GB 的电脑，“已提交”显示 18/32 GB，并不代表装了 18 GB 内存，也不代表此刻往硬盘写了 2 GB；它只说明系统承诺了 18 GB，上限是 32 GB。要判断卡顿，还得一起看可用物理内存、正在做的任务，以及卡顿时磁盘是否持续忙碌。

<figure class="blog-diagram">
  <picture>
    <source media="(max-width: 900px)" srcset="/img/blog/windows-windows-high-memory-usage-zh-mobile.webp" type="image/webp" width="768" height="1180">
    <img src="/img/blog/windows-windows-high-memory-usage-zh.webp" width="1360" height="454" loading="lazy" alt="几组内存读数，含义不同">
  </picture>
  <figcaption>三组读数关注不同的内存状态，可用与缓存有重叠，不能把它们当成互不相交的容量相加。</figcaption>
</figure>

## 硬错误不等于内存条坏了

资源监视器里的“硬错误/秒”是缺页处理的统计，表示需要从磁盘上的分页文件或映射文件取回内存页，名字里的错误不是硬件故障。刚打开一个大程序时出现一阵读取很常见，如果每次切回窗口都伴随持续读取和停顿，才值得结合内存不足一起排查。

[Windows 的工作集说明](https://learn.microsoft.com/en-us/windows/win32/memory/working-set)也区分了软缺页与硬缺页，离开某个程序工作集的页可能仍在 RAM 里，并不是每次“释放”都会写硬盘。观察时保持同一个工程和一组标签页，只关闭一个不需要的任务，再重复刚才卡住的动作，比一次清掉全部进程更容易知道是哪项起了作用。

## 什么时候需要管，什么时候不用管

Mole 状态页会把内存实际占用、提交压力和进程列表排在一起，判断时可以参考下面几条常识：

| 实际表现 | 建议的判断方式 |
| --- | --- |
| 开了多个大软件后占用升高，但操作依然顺畅 | 先观察是否与当前任务相符，不必只为降低百分比而干预 |
| 内存占用高，同时切换窗口出现明显顿挫卡顿 | 看可用物理内存是否见底，找出最吃内存的几个软件 |
| 某个软件在同一个界面下，内存几小时内持续飙升 | 可能是该软件的内存泄漏或插件异常，重启该软件验证 |
| 关掉某个重度任务后，电脑立即恢复流畅 | 支持先调查这个任务，再重复同样的工作确认是否还会卡 |

另外，Windows 的虚拟内存分页文件（`pagefile.sys`）是系统的安全底线，千万别听信网上偏方盲目关闭或删除它。C 盘空间紧张可以参考[大文件查找指南](/zh/windows/blog/find-large-files-on-windows)。

## 电脑真卡了，正确的处理顺序

先随手保存好手头的工作，关掉不需要的后台大任务，比如浏览器里堆了几十个没关的视频标签、后台悄悄同步的网盘客户端。在 Mole 状态页里可以按占用排序，快速搜到大软件以及它带起的一串子进程。

别为了让内存百分比看着顺眼，就盲目去强杀系统核心服务。清理磁盘垃圾也变不出物理内存，磁盘空间是磁盘空间，RAM 是 RAM。

## “一键清理内存”往往只是心理安慰

有些工具通过缩小程序工作集或清掉缓存来降低内存读数，但它们采用的方式不一定相同，数据也不一定立即写入硬盘。重新切回程序时，所需的数据可能要再装入工作集，如果需要磁盘读取，就可能出现额外等待，数字下降不等于实际工作变快。

如果日常任务确实经常把内存占满且影响工作，最实在的办法是适当减少并行的重型软件，或者核对机型是否支持增加内存，焊接内存的笔记本不能直接加条。如果卡顿其实是 CPU 满载引起的，可以继续看 [Windows CPU 指南](/zh/windows/blog/windows-high-cpu-usage)。


Canonical: https://mole.fit/zh/windows/blog/windows-high-memory-usage
