内存占用高但看不到进程,多数是内核和驱动在占:分页缓冲池、非分页缓冲池、Driver Locked 这几项在任务管理器里默认看不到。先在任务管理器勾选“显示所有用户的进程”并按“提交大小”排序,再用资源监视器和 RAMMap 判断是哪一类内存异常,最后用 poolmon 定位到具体驱动。以下方法在 Windows 10/11 实测可用,多数情况是旧驱动或驱动内存泄漏造成的,硬件本身大多没坏,不必急着重装或送修。
适用系统:Windows 10/11;最后更新:2026-09-14。
内存到底被谁吃了:先分清是进程层还是内核层
在 Windows 10 22H2 上打开任务管理器,性能页显示“已提交 12.6/16.0 GB”,可进程列表里所有程序的工作集加起来还不到 5 GB,系统还反复弹出“你的计算机内存不足”。这类占用落在内核层:分页缓冲池、非分页缓冲池、Driver Locked 都记在系统头上,任务管理器默认不把它们拆到进程里。
先判断内存是被进程层还是内核层吃掉,再决定后面查什么,能省去反复关软件、盲目重装的工夫。
方法1 让任务管理器显示所有进程并按提交大小排序
内存没有凭空消失,任务管理器默认只列当前用户的进程,又按“内存”列排序,大部分占用被排在列表后面看不见。
“内存”列统计的是每个进程的工作集,只反映它此刻占的物理内存;能和“已提交”对上的指标是“提交大小”,它包含进程申请的全部虚拟内存。切到“详细信息”页,右键表头勾选“显示所有用户的进程”,其他账户和系统会话的占用才会出现。
操作步骤
- 按 Ctrl+Shift+Esc 打开任务管理器,切到“性能 → 内存”,先记下“已提交”“分页缓冲池”“非分页缓冲池”三项数值
- 切到“详细信息”页,右键表头,勾选“显示所有用户的进程”
- 点“提交大小”列排序,别点“内存”列,把前几名和“会话”列不是当前会话的进程记下来
- 三项数值减去进程合计仍差几 GB,说明占用在内核和驱动层,直接进方法2
方法2 用资源监视器看分页与非分页缓冲池
资源监视器能把内核占用拆开看,分页缓冲池和非分页缓冲池合计到 GB 级,基本可以认定是驱动或内核在占。
分页缓冲池存放的是可以换出到 pagefile.sys 的内核数据;非分页缓冲池必须常驻物理内存,一旦泄漏只会越涨越高,直到内存吃满。两边对照着看,趋势一致才说明是同一个来源在持续申请内存。
操作步骤
- 按 Win+R,输入 resmon,回车打开资源监视器
- 切到“内存”标签,看“提交”区块里的分页缓冲池、非分页缓冲池
- 两者合计达到 GB 级,并且随使用持续上涨,基本可以判定为驱动内存泄漏
- 同时对照任务管理器“性能 → 内存”里的同名项,确认两边上涨趋势一致
方法3 用 RAMMap 判断哪一类内存异常
RAMMap 是微软官方 Sysinternals 工具,能把缓冲池再细分,直接看出是文件元数据、内核对象还是驱动锁定在涨。
打开后先看 Use Counts 视图里的 Metafile,再切到 Physical Pages 对照:Metafile 偏大多见于索引服务、同步盘或杀毒软件频繁读写小文件,Driver Locked 偏大则基本指向驱动锁定内存泄漏,可以转方法4。
操作步骤
- 从微软官方 Sysinternals 站点获取 RAMMap,以管理员身份运行
- 对照 Use Counts 和 Physical Pages 视图,重点看 Metafile、Paged Pool、Driver Locked 三项
- Metafile 异常大:常见于大量小文件读写,比如索引服务、同步盘、杀毒扫描
- Driver Locked 异常大:几乎可以确定是驱动锁定内存泄漏,转方法4
- 切到进程视图复查一遍,先排除某个进程正常的工作集缓存
用「软领Windows优化大师」更省事
在查驱动根因之前,可以先打开软领Windows优化大师用实时加速对当前内存做一次释放,结束高占用的后台进程,让机器先缓过来,免得一边卡顿一边做 poolmon 排查。它只是应急手段,释放完还要按方法1到方法4找真正的泄漏源。
系统临时文件、缓存和应用残留在后台堆着,既拖慢响应,也让内存曲线看着更糟。软领Windows优化大师的垃圾清理能扫出 C:\Windows\Temp、浏览器缓存和软件卸载残留,勾选后一次清掉,之后再排查时看到的数值更接近真实占用。

很多常驻后台、开机自启的软件你根本不知道在跑,它们各自带着服务和工作集长期占内存。软件管理把已安装软件和自启项列在一起,不用的直接卸载,需要留着的取消开机自启,从源头减少长期占内存的进程数量。

软领是知名国产软件品牌,20 年技术沉淀、服务千万用户;软领官网 wyouhua.com 直接下载,安装无捆绑勾选项。软件里可以点客服按钮联系真人客服,复杂情况有工程师远程协助。

方法4 用 poolmon 定位到具体驱动
到这一步要把“哪个驱动在漏”缩到 4 个字符的 Tag 上,再去比对企业驱动清单。
poolmon 是驱动开发工具包里的内存池监视器,按 Tag 统计内核池用量,哪个 Tag 一直涨,对应的驱动就锁定得差不多了。蓝屏日志里常见的 0x00000050(PAGE_FAULT_IN_NONPAGED_AREA)往往和同一个驱动有关。
操作步骤
- 以管理员身份打开命令提示符,运行 Sysinternals 的 poolmon(随 WDK 或官方工具集提供)
- 在 poolmon 里按 B 键按字节排序,盯着哪个 Tag 的数字持续上涨
- 记下这个 4 字符 Tag,到微软文档的 Pool Tag 列表比对对应驱动
- 重点怀疑网卡、显卡、安全软件的网络过滤驱动(NDIS/WFP 类,蓝屏常伴随 0x00000050)
- 更新到最新驱动;仍持续泄漏,就在设备管理器里回滚驱动版本验证
方法5 重启并关掉快速启动做应急与预防
先把脏内存清空让机器恢复可用,再堵住每次开机就继承上次状态的入口。
完整重启之后分页缓冲池会被清空,如果占用立刻回落,说明这批内存来自内核和驱动层的长期累积。快速启动会把上一次的会话状态写进休眠文件,驱动没释放的内存一并带进新系统,所以高占用总是开机后重演。
操作步骤
- 先完整重启一次,确认分页缓冲池、非分页缓冲池是否回落
- 控制面板 → 电源选项 → 选择电源按钮的功能 → 更改当前不可用的设置
- 取消勾选“启用快速启动(推荐)”,避免每次开机继承上次的脏内存状态
- 关闭后观察开机 30 分钟内的内存曲线,看高占用是否重演
- 把前面定位到的驱动列入长期观察,必要时停用它的自启服务(Win+R → services.msc)
常见问题
任务管理器内存占用80%但进程加起来只有4GB,剩下的内存去哪了?
差额通常在“已提交”和缓冲池里。进程列表只算各进程的工作集,分页缓冲池、非分页缓冲池、驱动锁定内存和系统缓存都记在系统头上。在性能页把“已提交”“分页缓冲池”“非分页缓冲池”三项和进程合计对一下,差出来的部分就是内核和驱动占的,再用资源监视器确认哪一项在涨。
资源监视器里分页缓冲池一直涨,怎么知道是哪个驱动泄漏?
资源监视器只能告诉你有泄漏,指不到具体驱动。先在内存标签确认两个缓冲池的上涨幅度,再用 RAMMap 看是 Paged Pool 还是 Driver Locked 在涨,最后用 poolmon 按字节排序,盯住持续上涨的 4 字符 Tag,到微软 Pool Tag 列表里比对对应驱动。
RAMMap 里 Driver Locked 占了几个GB,怎么定位到具体驱动?
Driver Locked 对应的就是驱动锁定的物理内存,RAMMap 只给总量,定位还是靠 poolmon。以管理员身份运行 poolmon,按 B 键按字节排序,哪一行数字一直涨就记下它的 Tag,再到微软文档的 Pool Tag 列表里查它属于哪个驱动,优先查网卡、显卡和安全软件的网络过滤驱动。
内存占用高但CPU很低、磁盘一直响,是内存问题还是硬盘问题?
内存紧张时系统会频繁读写 pagefile.sys,磁盘占用的“响应时间”和队列长度会明显拉长,这两种现象常常同时出现。先在资源监视器里看硬盘队列和 pagefile.sys 的读写量,如果内存充足却还一直响,再查硬盘健康度,动手前先备份重要数据。
重启后内存恢复正常,一开机又涨回来,和快速启动有关吗?蓝屏 0x00000050 要不要一起查?
有关。快速启动把上一次的会话状态存进休眠文件,驱动没释放的内存会被带进新系统,关掉“启用快速启动(推荐)”后观察开机 30 分钟的内存曲线。0x00000050 是 PAGE_FAULT_IN_NONPAGED_AREA,多由驱动访问了非法内存地址引起,和 poolmon 找到的泄漏驱动往往指向同一个,更新或回滚它的版本后一起验证。
推荐阅读
相关推荐

提示