此代码由2345dn.com编写,如你对虚拟内存有更好的理解,欢迎指导与改进。
bat下载:https://cygj.lanzouu.com/iuv6T3r7alva
后记:经过测试,电脑配置低的电脑,Win7的虚拟内存设置太小,占用内存过多时可能出现卡机,暂时不再对低于8G内存电脑设置虚拟内存。Win10/Win11目前在自动管理虚拟内在方面要好非常多了,基本上可以不用设置。
虚拟内存,大于8G才设置
此文件只对大于8G内存的电脑进行设置,只要超过8G内存,统一设置虚拟内存为最小4G,最大8G。
小于等于8G内存的电脑都不会进行任何操作。(建议判断设置为7GB,因为没有独显的电脑,部分内存会被核显占用)
@echo off
setlocal
REM 获取系统内存大小
for /f "tokens=2 delims==" %%s in ('wmic OS get TotalVisibleMemorySize /value') do set "totalMemory=%%s"
REM 将内存大小转换为GB
set /a "totalMemoryGB=totalMemory / 1024 / 1024"
REM 将内存大小转换为MB
set /a "totalMemoryMB=totalMemory / 1024"
REM 当内存大小大于等于8GB时,继续执行后续命令;否则,直接退出脚本(设置7是避免核显占用后导致内存检测小于8)
if %totalMemoryGB% geq 7 (
set "initialSize=4096"
set "maximumSize=8192"
) else (
exit
)
REM 使用REG ADD命令设置虚拟内存大小,默认设置为虚拟内存在C盘,如果想设置为D盘,可将C:\pagefile.sys改为D:\pagefile.sys,运行完建议重启一次。
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v "PagingFiles" /t REG_MULTI_SZ /d "C:\pagefile.sys %initialSize% %maximumSize%" /f
endlocal