为什么“空闲内存”是个毫无意义的数字
Windows 把物理内存的每一页都分进各个列表,而“空闲”装的是完全空白的页。内存管理器拼命想让这张表近乎清空,因为闲着的 RAM 对谁都没用:你的程序碰过的文件数据放在备用列表里,在那里同时充当缓存和下一次分配的原料。任务管理器把备用内存并入“可用”,正是出于这个原因——那才是诚实的数字;而把“空闲”画成吓人红色条的工具,给你看的是系统刻意最小化的数值。
在 Windows 10 和 11 上,这幅画面对用户还要更友好:内存压缩把冷页面打包进内存里一个紧凑的存储区,Sysmain 则预取你接下来可能启动的东西。因此一台健康的机器显示的是高“使用中”、饱满的备用列表和几乎为零的空闲内存——跟那些工具暗示的“好状态”恰好相反。
优化软件是怎么伪造战果的
经典的内存加速器——连同它的一切现代换皮,从游戏加速器到一键“内存清理”——都在循环调用同样两个 Windows API:对每个可见进程执行 EmptyWorkingSet 或 SetProcessWorkingSetSize。全部秘密就这么多。后果按顺序如下:
- 每个运行中的程序的工作集被裁到接近零,它的代码页和数据页因此移入备用列表或写回页面文件
- “空闲内存”计数器跳涨——也就是工具给你看的那个数——因为这些页面确实从使用它们的程序那里被拿了回来
- 你切回任何一个应用的瞬间,它就从磁盘逐页换入自己的代码和数据,一次一页缺页中断
- 可测量的结果:应用切换变慢、磁盘流量增加,而在 Windows XP 到 7 的年代,还有字面意义上听得见的硬盘颠簸
- 被释放的内存清零后干等别人来认领——在一台干实事的机器上,几秒后就有人来,于是整个循环重新开始
真正重要的指标,以及两个真解法
如果你怀疑内存吃紧,请打开任务管理器的“性能”选项卡,改看两个数字:对着上限看的“已提交”,以及“硬错误”——即必须从磁盘取回的页面的速率(某些语言的 Windows 里它被标成“每秒硬件错误”)。工作时持续每秒几十个硬错误,才是内存耗尽的真实信号;而配上健康“可用”数值的庞大备用列表,恰恰是问题的反面。优化软件跳过的正是这一步诊断,因为诚实的答案很少能卖出订阅。
真正的解法毫不起眼。关掉不用的负载——开着几十个标签的浏览器和 Electron 应用是惯犯——而已提交内存经常蹭到上限,就加内存;没有任何软件能凭空变出物理内存。唯一诚实的细分场景是:有据可查的、由坏驱动引起的备用列表异常,用 RAMMap 之类的工具诊断——即便在那里,该修的也是驱动,而不是定时清理。其余一切都是营销。
常见问题与解答
内存优化软件真的有用吗?
它们确实做了自己描述的事,而那恰恰适得其反:裁剪工作集抬高了空闲内存的数字,随后每个应用立刻把自己换回内存。净效果是更慢的电脑和更多的磁盘流量。
怎么判断我需要更多内存?
在任务管理器的“性能”选项卡里盯住“已提交”与其上限,以及持续的每秒硬错误数。如果工作时已提交频繁逼近上限并伴随硬错误,你需要的是容量——不是优化软件。
继续阅读
联系我们: [email protected]