You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何防止Windows系统长期运行时耗尽全部RAM?

如何防止Windows系统长期运行时耗尽全部RAM?

我太懂你这种长期不关机却被Windows慢慢吃光内存的糟心情况了——毕竟不能频繁重启、换硬件或换系统,得找针对性的软解决办法。结合你的描述(两台硬件不同的Win10,运行一个月后内存占满99-100%,磁盘也跟着跑满,任务管理器里内存占用数字对不上),这大概率是Windows的内存缓存机制或者部分服务/进程的内存泄漏导致的,给你几个实用的解决方法:

  • 禁用SysMain服务(原Superfetch)
    这个服务会预加载你常用的程序到内存里,本意是加快启动速度,但长期运行后,它可能会占用大量内存且不会及时释放。操作步骤很简单:
    按Win+R打开运行框,输入services.msc回车,找到「SysMain」服务,右键选「属性」,把启动类型改成「禁用」,再点击「停止」按钮,最后确定保存。

  • 用系统自带命令快速释放闲置内存
    你之前靠开大型游戏再关闭的方法其实是强制系统释放缓存,但不用这么麻烦,直接做个批处理文件就能搞定:
    新建一个文本文档,把下面的内容复制进去,然后把后缀改成.bat

    @echo off
    echo 正在释放闲置内存...
    rundll32.exe advapi32.dll,ProcessIdleTasks
    echo 释放完成!
    

    以后内存占满时,双击这个bat文件就行,它会调用系统自带的空闲任务处理函数,自动释放没用的缓存内存。

  • 排查内存泄漏进程
    任务管理器里内存占用加不上来,可能是某个进程悄悄泄漏内存(比如系统服务或第三方软件)。你可以打开任务管理器的「详细信息」标签,按「内存」列排序,盯着看几个小时,找那些内存一直在增长、不会回落的进程:

    • 如果是第三方软件,试试更新到最新版本,或者直接卸载不用的;
    • 如果是系统进程(比如svchost.exe),可以右键它选「转到服务」,看看对应的服务是什么,再决定是否禁用或更新相关组件。
  • 调整虚拟内存设置
    内存占满时磁盘也跑满,大概率是系统在疯狂读写虚拟内存。你可以把虚拟内存转移到容量更大的机械硬盘上(避免占小SSD的空间):
    右键「此电脑」→「属性」→「高级系统设置」→「高级」标签里的「性能」→「设置」→「高级」标签→「虚拟内存」→「更改」,取消「自动管理所有驱动器的分页文件大小」,然后选中你的机械硬盘,选「系统管理的大小」或者手动设置初始大小为物理内存的1.5倍、最大值为2倍,最后点击「设置」确定。

  • 修改注册表优化内存缓存
    如果你想让Windows更积极地释放闲置内存,可以修改注册表(操作前记得备份注册表,避免出错):
    按Win+R输入regedit回车,定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management,右键新建「DWORD(32位)值」,命名为LargeSystemCache,把值设为0(关闭大系统缓存,让系统优先释放闲置内存给程序)。

另外要说明的是,Windows本来就会把闲置内存用来做文件/程序缓存,这是它的设计逻辑,但长期不关机的情况下,缓存可能积累过多,导致真正需要内存的程序不够用。上面的方法就是针对这个问题,要么让系统别乱占内存,要么手动/自动释放缓存。

备注:内容来源于stack exchange,提问作者user9203881

火山引擎 最新活动