本质是分页文件过小或碎片化导致系统提交内存不足,无法满足着色器编译所需连续虚拟内存;需检查“已提交”是否逼近“提交限制”,差值小于2GB且C盘剩余空间不足10GB即可确认。

玩游戏时提示“着色器编译内存耗尽”,本质是Windows在编译GPU着色器时需要大量连续虚拟内存空间,而当前分页文件(pagefile.sys)太小或碎片化严重,导致系统无法为DirectX/ Vulkan着色器编译器分配足够提交内存。
确认是否真由分页文件引发
按下 Ctrl + Shift + Esc 打开任务管理器→切换到“性能”选项卡→点击左侧“内存”→重点查看右下角“已提交”数值是否已逼近“提交限制”。若两者差值小于2GB,且C盘剩余空间不足10GB,基本可锁定为分页文件问题。
这一步不能跳过。很多用户误以为只要物理内存空闲就没事,但着色器编译过程依赖的是【系统提交内存上限】,它=物理内存+分页文件大小。哪怕你有32GB RAM,若分页文件被禁用或仅设为512MB,提交上限仍可能卡在32.5GB以下,而现代3A游戏单次着色器编译峰值需求常超4GB。
恢复系统自动管理(推荐首选)
按下 Win + R,输入 sysdm.cpl 回车→切换到“高级”选项卡→点击“性能”区域的“设置”→再点“高级”选项卡→点击“虚拟内存”旁的“更改”→勾选“自动管理所有驱动器的分页文件大小”→点击“确定”→重启电脑。
Windows 10/11的自动管理机制会根据实际负载动态扩展pagefile.sys,并优先保障GPU驱动和D3D编译器所需的连续内存块。手动设死大小反而容易因预估不准导致编译中断。该方案适用于90%以上“着色器编译内存耗尽”报错场景。
手动设置分页文件大小(仅当自动管理无效时)
方法一:直接计算法(最稳妥)
第一步:右键“此电脑”→“属性”→左侧“高级系统设置”→“高级”选项卡→“性能”→“设置”→“高级”→“虚拟内存”→“更改”。
第二步:取消勾选“自动管理所有驱动器的分页文件大小”。
第三步:选中系统盘(通常是C:),勾选“自定义大小”。
第四步:输入初始大小 = 物理内存MB数 × 2,最大值 = 物理内存MB数 × 4。例如:32GB内存(32768MB)→初始填65536,最大填131072。数值必须为整数,不能带逗号或单位。
第五步:点击“设置”→“确定”→重启电脑。
方法二:迁移法(C盘空间紧张时必选)
先选中C盘→选择“无分页文件”→点“设置”;再选中一块剩余空间≥128GB的NTFS格式SSD分区(如D:)→勾选“自定义大小”→初始填65536,最大填131072→点“设置”→“确定”→重启。
注意:若目标盘非NTFS格式,或剩余空间<最大值设定值,设置将静默失败,pagefile.sys不会生成。


















