怎么查看内存使用情况
内存不够用的时候,电脑反应慢得像脚底粘了泥,可你打开任务管理器一看,满屏进程名字密密麻麻,压根不知道从哪儿看起。其实 Windows 把查看内存使用情况这件事拆成了好几层:从一眼看总量,到逐进程查占用,再到记录内存随时间怎么变化,工具都是系统自带的,一个都不用装。
任务管理器:整体用量和进程占用一次看全
最先要会的就一个快捷键:Ctrl + Shift + Esc。它直接弹出任务管理器,比起 Ctrl+Alt+Del 再选一遍快得多。要是版本比较老的系统弹出来是精简窗口,点左下角“详细信息”展开就行。
性能选项卡:总量、余量一目了然
切到“性能”选项卡,左侧列表里点“内存”,右边这块就是全局视图。上面一条曲线画的是最近 60 秒的内存占用走势,下面几行数字才是重点:
- 使用中(已压缩):当前被程序实实在在占着的内存,括号里那部分是系统压缩过的一部分,属于内存紧张时的自救手段。
- 可用:还能拿来用的余量,包括完全空闲的和随时可以被收回的缓存。
- 已提交:操作系统承诺给所有程序的内存总额,它等于物理内存加页面文件的一部分,这个数字超过物理内存是正常的。
- 速度和插槽已使用:前者是内存条的工作频率,后者像“2 of 4”这种写法,意思是主板有 4 个插槽、目前插了 2 条。

进程选项卡:抓出到底是谁在吃内存
光知道用了 80% 没意义,得知道是谁用的。切到“进程”选项卡,点一下“内存”这个列标题,列表会按占用从高到低排好。这时候排在最前面的,基本就是答案。
这里显示的数字叫工作集(进程当前实际占用的那部分物理内存)。浏览器最容易霸榜,一个标签页一个进程,开上二三十个标签,几个 G 就没了。你不确定某个进程是什么来头,右键点它选“属性”,能看到文件路径和数字签名,别急着结束那些不认识的系统进程。

资源监视器:把内存的每一个去向摊开看
任务管理器的数字比较粗,想知道内存具体分成哪几块,按 Win + R 输入 resmon 回车,打开资源监视器,切到“内存”标签页。这里会看到一组任务管理器没细说的分类:
| 项目 | 含义 | 看它的用处 |
|---|---|---|
| 使用中 | 进程正在用的内存总和 | 和任务管理器进程列表能对上 |
| 已修改 | 改过但还没写回硬盘的数据 | 数值很大说明写入压力高 |
| 备用 | 缓存起来的旧数据,随时可被回收 | 这部分算“可用”,不是浪费 |
| 可用 | 真正还能分配出去的余量 | 判断紧不紧张就看它 |
| 已提交 | 物理内存 + 页面文件的承诺额度 | 接近上限时会提示内存不足 |
| 硬件保留 | 固件和集成显卡预留的内存 | 几十到几百 MB 属正常 |

第一次看到“备用”占了十几个 G 的时候,我还以为电脑出毛病了,后来才明白那只是系统把空闲内存拿去做缓存,程序要用的时候立刻就能吐出来。内存闲着才是浪费,这条账得算明白。
另外有个容易吓到人的情况:硬件保留那一项如果显示两三个 G,通常是集成显卡按需分配走了大块内存当显存,或者是 32 位系统受 4GB 寻址上限的限制,实际可用只能到 3.2GB 左右。前者是花钱买来的性能,后者换 64 位系统才能解。
性能监视器:记录内存随时间怎么变
前面两个工具都是看“此刻”。如果你想观察内存在一段时间里的波峰波谷,比如跑某个软件时是不是一路往上涨,那就按 Win + R 输入 perfmon,打开性能监视器,点“性能监视器”节点,再用绿色的加号按钮往图里添计数器。
Memory\Available MBytes:可用内存,单位 MB,低于几百就该警觉了。Memory\Pages/sec:每秒读写页面文件的次数,这个值长期居高不下,说明物理内存真的不够用了。页面文件就是硬盘上划出来的一块区域,内存吃紧时拿它临时顶替,可硬盘的速度和内存差着好几个数量级,所以你会听到机箱里硬盘咔咔响、鼠标开始飘。Memory\% Committed Bytes In Use:提交量占上限的百分比,比物理内存使用率更能反映真实压力。

懒得一个个加计数器,直接在运行框里敲 perfmon /report,系统会花 60 秒左右采集一遍数据,生成一份带内存、磁盘、CPU 各章节的完整诊断报告,Windows 10 和 11 上都能用。
命令行和 PowerShell:远程或要留数据时更顺手
图形界面适合自己看,遇上远程连接、或者想把数据复制到文档里,命令行效率更高。
- 在 CMD 里跑
systeminfo | findstr /C:"物理内存",中文系统能直接搜出“物理内存总量”和“可用的物理内存”两行。 - 老版本 Windows 还能用
wmic OS get FreePhysicalMemory,TotalVisibleMemorySize /Value,返回的单位是 KB。丑话说在前头,Windows 11 24H2 之后 wmic 默认不再随系统安装,这条命令在新机器上可能直接报错,改用下面的 PowerShell 写法更保险。 - PowerShell 里执行
Get-CimInstance Win32_OperatingSystem | Select-Object @{n='总内存GB';e={[math]::Round($_.TotalVisibleMemorySize/1MB,1)}}, @{n='可用GB';e={[math]::Round($_.FreePhysicalMemory/1MB,1)}}
结果直接按 GB 显示,读起来舒服。 - 想看进程排名就再来一条:
Get-Process | Sort-Object WS -Descending | Select-Object -First 10 Name, @{n='内存MB';e={[math]::Round($_.WS/1MB,0)}}
WS 就是工作集,和任务管理器里那个“内存”列是同一个东西。

有一说一,命令行最大的好处是可以把输出导成文本或者 CSV,做趋势对比的时候不用靠眼睛盯屏幕。
几个容易看错的数字
“可用”和“空闲”不是一回事。空闲是完全没人碰的内存,通常很小;可用 = 空闲 + 备用,所以可用内存有几个 G 也不代表浪费了几个 G。
“内存使用率”算的是使用中除以总量,缓存那部分不算进去,所以 70% 到 80% 的占有率在 16GB 机器上属于常见状态。
“已提交”超过物理内存,说明系统已经在动用页面文件,只要没到提交上限、硬盘也不狂转,就先不用慌。
补充:Linux 和 macOS 上的查看方式
习惯命令行的在 Linux 上敲 free -h,available 那一列才是判断余量的正确指标,buff/cache 和 Windows 的“备用”是一个思路。想动态看就 top 或者 htop,按内存排序同样很方便。macOS 自带的活动监视器更省事,打开“内存”标签页,底部“内存压力”那张小图一旦变黄变红,就说明该关点东西了。这两个系统我手边没有设备,就不放截图了。
工具摆在这儿,多数时候打开任务管理器点两下,问题就水落石出了。