跳转到内容

内存压缩与页面文件:Windows 到底在做什么

核验于 2 分钟阅读

备用内存、内存压缩与页面文件如何配合,该看哪些计数器,以及为什么「空闲内存」是错的观察指标。

测试环境Pro (26H2) / Server · 版本号 26300.9457 / 26100.33650 · x64
E1
版本号
26300.9457 / 26100.33650
版本
Pro (26H2) / Server
架构
x64
支持
文档(E1)
证据
E1官方文档
核验日期
2026-10-29
页面类型
概念

物理内存紧张时,Windows 按这个顺序做三件事:

  1. 裁剪缓存——先放弃 standby(缓存)页,这是免费的。
  2. 压缩仍然需要的页——内存压缩把它们压缩后继续留在内存里。
  3. 写入页面文件——压不动的页才走磁盘。

“空闲内存”只统计什么都没干的页。真正该看的是可用内存,它包含 standby 和 free。

终端窗口
Get-Counter '\Memory\Available MBytes','\Memory\Committed Bytes','\Memory\Commit Limit','\Memory\Pages/sec' -MaxSamples 3
Get-Counter '\Memory\Standby Cache Normal Priority Bytes' -MaxSamples 2
Get-CimInstance Win32_OperatingSystem |
Select-Object @{n='TotalGB';e={[math]::Round($_.TotalVisibleMemorySize/1MB,1)}},
@{n='FreeGB';e={[math]::Round($_.FreePhysicalMemory/1MB,1)}}
计数器 含义 危险信号
Available MBytes 空闲 + standby 开着常用应用却长期接近 0
Committed Bytes vs Commit Limit 需求 vs 系统能承载的上限 持续高于 ~90%
Pages/sec 硬缺页在磁盘与内存间搬页 SSD 已经很忙还持续偏高
Standby Cache … Bytes 文件缓存 负载下掉到接近 0

2GB 空闲 + 6GB standby 是健康的。500MB 可用且持续换页不是。

终端窗口
Get-MMAgent | Select-Object MemoryCompression,PageCombining

MemoryCompression : True 表示压缩存储处于活动状态,当前客户端版本默认开启。页合并(PageCombining)去重相同页面——对虚拟机和大量相似进程有用。

Windows Server 上内存压缩是刻意保守的:服务器通常内存充足、负载可预测,而压缩要花 CPU。不要因为“桌面有”就打开它。

“1.5 倍内存”这条规则早于 SSD 和 64GB 桌面。真正重要的是:

  • 能不能不要页面文件? 不行——部分 Windows 功能和崩溃转储需要它。“为了性能关闭页面文件”是会弄坏东西的迷思。
  • 系统托管是合理默认:需要时增长,平时很小。
  • 固定大小适合可预测的服务器:下限要够放下工作集,需要转储就再加上转储大小。
  • 放到另一块盘只在那块盘确实更快或不那么忙时才有意义。
终端窗口
Get-CimInstance Win32_PageFileSetting | Select-Object Name,InitialSize,MaximumSize
Get-CimInstance Win32_PageFileUsage | Select-Object Name,AllocatedBaseSize,CurrentUsage,PeakUsage

PeakUsage 接近 AllocatedBaseSize 说明文件大小完全由需求驱动——要么给它设下限,要么加内存。

用真实负载,不要看待机数字:

  1. 正常开一天的应用。
  2. 观察 Available MBytes 与 Committed Bytes / Commit Limit。
  3. 已提交内存长期高于上限的 ~90%,且 Pages/sec 持续偏高——你是真的不够。
  4. 已提交量正常但某个进程工作集一直涨——那是泄漏,加内存只能拖延。
终端窗口
Get-Process | Sort-Object WorkingSet64 -Descending |
Select-Object -First 10 Name,@{n='WS_MB';e={[math]::Round($_.WorkingSet64/1MB)}}

E1。计数器与代理行为有微软文档依据。本文不发布实验室的压缩比,因为 2 vCPU 虚拟机的比例无法迁移到真实桌面。

来源