当电脑出现“内存不足”提示时,可通过四种代码方式动态增加windows虚拟内存:一、powershell脚本修改注册表并重启;二、python调用wmi接口创建页面文件;三、cmd用reg add命令注入注册表值;四、vbscript调用wmi的changeattributes方法。

当电脑运行程序时出现“内存不足”提示并伴随代码报错,通常表明物理内存(RAM)已无法满足当前任务需求,系统未能及时调用足够虚拟内存进行补充。以下是通过代码方式为Windows系统动态增加虚拟内存(页面文件)的具体操作方法:
一、使用PowerShell脚本配置虚拟内存
PowerShell具备直接修改系统页面文件设置的权限,可通过命令行绕过图形界面完成配置,适用于批量部署或无GUI环境。该方法直接写入注册表并重启服务以生效。
1、以管理员身份打开PowerShell窗口。
2、执行以下命令禁用自动管理页面文件:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "PagingFiles" -Value @() -Type MultiString
3、执行以下命令设定自定义页面文件路径与大小(示例设为C:\pagefile.sys,初始大小4096MB,最大大小8192MB):
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" -Name "PagingFiles" -Value @("C:\pagefile.sys 4096 8192") -Type MultiString
4、执行命令重启计算机使设置生效:
Restart-Computer -Force
二、通过WMI接口调用Win32_PageFileSetting类修改
WMI提供标准化系统管理接口,允许编程方式调整页面文件参数,支持C#、Python等语言调用,具备跨脚本兼容性与精细控制能力。
1、在Python中安装pywin32库:
pip install pywin32
2、编写Python脚本,导入wmi模块并连接本地WMI服务。
3、查询现有页面文件设置:
wmi_obj = wmi.WMI()
pagefiles = wmi_obj.Win32_PageFileSetting()
4、调用Create方法新建页面文件条目,传入DrivePath="C:\", InitialSize=6144, MaximumSize=12288参数。
5、执行后需手动重启系统,否则新页面文件不会被加载。
三、使用CMD结合reg add命令注入注册表值
reg add命令可直接向注册表指定键写入MultiString类型值,适用于轻量级批处理场景,不依赖额外运行时环境,执行速度快。
1、以管理员身份运行CMD窗口。
2、执行命令关闭自动管理:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "PagingFiles" /t REG_MULTI_SZ /d "" /f
3、执行命令写入自定义页面文件配置(注意双空格分隔路径与数值):
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "PagingFiles" /t REG_MULTI_SZ /d "C:\pagefile.sys 8192 16384" /f
4、执行shutdown /r /t 0立即重启系统。
四、通过VBScript调用Win32_PageFile类的ChangeAttributes方法
VBScript原生支持WMI对象绑定,无需编译即可运行,适合嵌入Windows登录脚本或组策略启动项中长期维护虚拟内存配置。
1、新建文本文件,扩展名为.vbs。
2、写入Set objWMIService = GetObject("winmgmts:\. ootcimv2")
3、添加Set colPageFiles = objWMIService.ExecQuery("SELECT * FROM Win32_PageFile WHERE Name='C:\pagefile.sys'")
4、调用colPageFiles.ItemIndex(0).ChangeAttributes 8192, 16384,其中两参数分别对应初始与最大大小(单位MB)。
5、保存后右键以管理员身份运行该.vbs文件,完成后重启生效。











