此代码由2345dn.com编写,如你对虚拟内存有更好的理解,欢迎指导与改进。
bat下载:https://cygj.lanzn.com/i730k1v9w3li
后记:经过测试,Win7的虚拟内存是根据物理内存大小来设置虚拟内存大小,建议使用此批处理设置。Win10/Win11目前在自动管理虚拟内在方面要好非常多了,基本上可以不用设置。
虚拟内存,都设置,减少体积(推荐)
将电脑的虚拟内存最小设置占用32M,最大为实体内存大小,当大于8GB时,统一设置最大占用8GB。
此BAT好处是,统一设置最小占用为32M,所以大部分时间,虚拟内存不会占用到系统空间。
(上一次发布的代码有点问题,已经下载的朋友下载最新的测试下。)
@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时,设置虚拟内存为最小为32M,最大为8GB;当内存小于等于8GB时,设置虚拟内存为最小为32M,最大为实际内存大小。
if %totalMemoryGB% gtr 8 (
set "initialSize=32"
set "maximumSize=8192"
) else (
set "initialSize=32"
set "maximumSize=%totalMemoryMB%"
)
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
虚拟内存,大于8G才设置
此文件只对大于8G内存的电脑进行设置,只要超过8G内存,统一设置虚拟内存为最大8G,最小也是8G。
小于等于8G内存的电脑都不会进行任何操作。
@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 当内存大小大于8GB时,继续执行后续命令;否则,直接退出脚本
if %totalMemoryGB% gtr 8 (
set "initialSize=8192"
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