内存占用高但看不到进程,是因为任务管理器「性能」页里的百分比对应的是提交总量,而「进程」列表默认只显示当前账户的可见进程,其他账户的进程、系统进程和内存压缩都不在列表里,所以你把前几行加起来会对不上。能同时看到「提交」和「工作集」的入口是资源监视器,Win+R 输入 resmon 就能打开。
这类情况多半是权限限制、内存压缩和系统缓存造成的,内存条本身大多没坏,不必急着重装系统。以下方法在 Windows 10/11 实测可用。
适用系统:Windows 10/11;最后更新:2026-09-11。
内存占用高,任务管理器里却找不到是谁在吃
常见的一幕是:任务管理器「性能」页内存显示 90% 以上,你翻遍「进程」页也找不到吃掉几个 G 的元凶,排在前面的几行加起来还不到一半。Windows 10 1809 之后系统默认开启内存压缩,被压缩的内存放在 Memory Compression 里,不挂在任何用户进程名下,再加上 System、svchost.exe 这些条目平时被折叠,数字自然对不上。
先分清权限折叠、内存压缩和系统缓存各占多少,后面几步就能顺着线索往下查,比一上来就重装系统省事得多。
方法1 用资源监视器看任务管理器不列的占用
任务管理器默认只列当前账户的进程和「工作集」,资源监视器才能同时看到「提交」内存和被折叠的系统项。这两个数的差额,就是你在任务管理器里看不见的那部分。
操作步骤
- Win+R 打开运行框,输入 resmon 回车,打开资源监视器
- 切到「内存」选项卡,对比「提交(KB)」和「工作集(KB)」两列,任务管理器里的百分比接近提交量
- 展开平时被折叠的条目:System、svchost.exe(可能有十几个实例)、Memory Compression
- 把「提交」减去「工作集」,差值就是你在任务管理器里看不到的那部分
- 按提交量从高到低记下排前 3 到 5 个名字,交给后面几步继续定位
方法2 让任务管理器以管理员权限看全部进程
非管理员权限打开的任务管理器,只显示你自己的进程,其他登录账户和系统级进程全部被隐藏。用管理员身份重开一次,进程数量会明显变多。
操作步骤
- Ctrl+Shift+Esc 打开任务管理器,左下角点「以管理员身份重新打开」,用户账户控制提示框点「是」
- 切到「详细信息」选项卡,点菜单栏「查看」,勾选「显示所有用户的进程」
- 点击「内存」列标题,让列表按内存占用从高到低排列
- 如果还是看不到异常项:Win+R 输入 services.msc,确认 Windows Management Instrumentation、Windows 事件日志服务处于运行状态
- 想看得更细,在「详细信息」里右键列标题选「选择列」,勾上「提交大小」和「页面错误」
用「软领Windows优化大师」更省事
「实时加速」直接盯着当前内存占用,把被后台程序占着的运行内存实时收回来,缓解卡顿。它解决的是「看不到谁在吃内存、机器却一直卡」这一步,占用偏高时按一下就能回落,之后再配合关闭自启,避免开机又被重新填满。
「软件管理」把常驻后台、开机就自启的软件集中列出来,你可以统一卸载或改成延后启动,从源头减掉吃内存的进程,不用再逐个去猜。

「C盘瘦身」用来腾出 C 盘空间,让页面文件也就是虚拟内存留出足够的可用位置,内存吃紧时有地方换页,机器不容易卡死。

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

方法3 用命令行按工作集排序全部进程
命令行不会被软件列表的折叠挡住,一次就能把全部进程按内存排队,比在窗口里翻找快得多。WS 是工作集,PM 是提交量,两个数一起看更准。
操作步骤
- Win+X,选择「终端(管理员)」或「Windows PowerShell(管理员)」
- 执行 Get-Process | Sort-Object WS -Descending | Select-Object -First 15 -Property Name,WS
- WS 一列单位是字节,1GB 约等于 1073741824,记下排前 3 的进程名
- 再看提交量:Get-Process | Sort-Object PM -Descending | Select-Object -First 10 -Property Name,WS,PM
- 命令被策略拦下时执行 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser,用完可以改回去
- 确认要结束的进程后,再用 Stop-Process -Name 进程名 -Force,误杀会导致程序数据丢失
方法4 查内存压缩、SysMain 与疑似泄漏的进程
被压缩的内存不归到任何进程名下,某个进程的内存只涨不降,基本就是内存泄漏。这两类占用要分开判断,处理方式完全不同。
操作步骤
- 任务管理器 → 性能 → 内存,看「已压缩」的数值,通常几十到几百 MB,涨到 GB 级就要继续查
- Win+R 输入 services.msc,找到 SysMain(原 Superfetch)和 Windows Search,先改成「手动」再观察占用变化
- 怀疑泄漏时盯住该进程:内存曲线只涨不降,关掉再开又慢慢爬回去,就是典型泄漏
- 用性能监视器(Win+R 输入 perfmon),添加计数器 Memory\Available MBytes、Paged Pool 看趋势
- Pool Nonpaged Bytes 持续增长,说明是内核或驱动在占内存,按驱动层问题处理,进入方法5
- 确认泄漏的软件先升级到最新版,无效就卸载重装或换替代方案
方法5 兜底:关自启、调虚拟内存、查内存条
软件层都排完内存还是居高不下,就从开机自启、页面文件和内存条本身找原因。出现蓝屏码时,优先怀疑硬件。
操作步骤
- 任务管理器 → 启动应用,把不用的自启项全部禁用,避免开机就被重新吃满
- Win+R 输入 sysdm.cpl,进「高级」→ 性能「设置」→「高级」→ 虚拟内存「更改」,选「自动管理」,或手动设为物理内存的 1.5 倍
- 关闭快速启动:控制面板 → 电源选项 → 选择电源按钮的功能 → 更改当前不可用的设置
- 硬件层排查:Win+R 输入 mdsched.exe 运行 Windows 内存诊断,重启后查看结果
- 出现 0x0000001A(MEMORY_MANAGEMENT)、0x00000050(PAGE_FAULT_IN_NONPAGED_AREA)这类蓝屏码,多半是内存条或存储驱动的问题,可以进安全模式回滚最近的驱动
- BIOS 里关掉 XMP 或内存超频,双通道的机器可以单条轮流点亮,逐条排除有问题的内存
常见问题
内存占用 90% 但任务管理器进程加起来不到一半,是什么原因?
任务管理器只列当前账户的可见进程,其他账户的进程、System、svchost.exe 和内存压缩都不在里面。用 resmon 里的提交量减去工作集,就能算出被折叠的那部分。
资源监视器里「提交」和「工作集」差很多,说明什么?
说明有相当一部分内存被提交了,但没有常驻在物理内存里。常见来源是页面文件换出、内存压缩和内核池,差值越大越要往驱动层去查。
Windows 内存压缩占了好几个 G 正常吗,要不要关掉?
几百 MB 到 1GB 左右算正常,涨到几个 G 通常说明物理内存长期不够用,先找出吃内存的进程更有效。确实想关,可以用管理员身份打开 PowerShell 执行 Disable-MMAgent -mc,代价是换页变多、硬盘写入增加。
某个进程内存只涨不降,怎么确认是不是内存泄漏?
在性能监视器里盯住它的工作集和私有字节,曲线持续爬升、关掉重开又慢慢涨回来,且升级到最新版后依旧如此,就可以按内存泄漏处理,考虑卸载重装或换替代软件。
sysdm.cpl 里虚拟内存设多大合适,能降内存占用吗?
让系统自动管理通常够用,需要手动时按物理内存的 1.5 倍设一个固定值。虚拟内存只给换页留出余量,不会减少进程真正占用的内存。
推荐阅读
资源管理器多标签工具和系统自带标签页,Win10 没有怎么办
相关推荐

提示