找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 353|回复: 10

[分享] 分享个小bat文件

  [复制链接]
发表于 4 小时前 | 显示全部楼层 |阅读模式
本帖最后由 蓝 色 于 2026-6-30 19:17 编辑

内存压缩(Memory compression)

内存压缩是微软的新内存管理机制,作用是压缩不经常访问的内存页面,以减少对硬盘的读取和写入,我们可以理解为内存压缩就是压缩内存中不常使用的页面文件,使内存占用更少,从而允许操作系统运行更多程序、同时减少对硬盘的读取与写入,带来更高的 I/O 效率能因此提高系统的响应速度。

内存压缩的弊端
压缩数据需要耗费 CPU 资源,一些设备搭载了性能较弱的CPU,开启内存压缩便可能会造成其运行卡顿缓慢。与此同时,内存压缩需要消耗额外的 CPU 资源,也增加了耗电,并且它有时会在不该压缩的时候去压缩,造成性能降低,导致电脑突然变的卡顿。


建议:大于8g内存的电脑没必要为了节省那一点点要靠CPU长期额外工作才压缩节省的内存空间,这时候关闭内存压缩获得更好的稳定性。
下面给出一个ai写的bat脚本(懒人专属)。




小QQ截图20260630172001.png


下载 Windows10,11 内存压缩管理脚本.rar (1.19 KB, 下载次数: 55)

不放心的请直接把下列代码复制后另存ANSI保存


@echo off
:: 自动请求管理员权限(绿底窗口)
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
    goto UACPrompt
) else ( goto gotAdmin )

:UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    exit /B

:gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    pushd "%CD%"
    CD /D "%~dp0"

:: 设置绿底白字窗口
color 2F

:menu
cls
echo ============================================
echo.
echo    Windows10,11 内存压缩管理脚本
echo.
echo ============================================
echo.
echo.
echo 1. 查询内存压缩当前状态
echo.
echo 2. 关闭内存压缩,并禁用相关计划任务
echo.
echo 3. 开启内存压缩,并启用相关计划任务
echo.
echo 4. 退出
echo.
echo ============================================
echo.
set /p choice=请输入选项 (1/2/3/4):

if "%choice%"=="1" goto query
if "%choice%"=="2" goto disable_compress
if "%choice%"=="3" goto enable_compress
if "%choice%"=="4" exit /b
goto menu

:query
cls
echo 正在查询内存压缩状态...
echo.
powershell -Command ^
"$mm = Get-MMAgent; ^
$memoryGB = [math]::Round((Get-CimInstance Win32_ComputerSystem).TotalPhysicalMemory / 1GB); ^
if ($mm.MemoryCompression) { ^
    Write-Host '结果:内存压缩已开启'; ^
    if ($memoryGB -gt 8) { ^
        Write-Host ('本机内存大于8GB(当前约' + $memoryGB + 'GB),建议关闭内存压缩') ^
    } ^
} else { ^
    Write-Host '结果:内存压缩已关闭'; ^
    if ($memoryGB -le 8) { ^
        Write-Host ('本机内存小于等于8GB(当前约' + $memoryGB + 'GB),建议开启内存压缩') ^
    } ^
}"
echo.
echo.
pause
goto menu

:disable_compress
cls
echo 正在关闭内存压缩...
echo.
powershell -Command "Disable-MMAgent -MemoryCompression"
if %errorlevel% equ 0 (
    echo.
    echo 内存压缩已关闭。
) else (
    echo.
    echo 操作失败,请检查错误信息。
)
echo.
echo 正在禁用相关计划任务...
schtasks /change /tn "\Microsoft\Windows\MemoryDiagnostic\ProcessMemoryDiagnosticEvents" /disable
schtasks /change /tn "\Microsoft\Windows\MemoryDiagnostic\RunFullMemoryDiagnostic" /disable
echo.
echo 计划任务已禁用。
echo 请重启系统使更改生效。
echo.
pause
goto menu

:enable_compress
cls
echo 正在开启内存压缩...
echo.
powershell -Command "Enable-MMAgent -MemoryCompression"
if %errorlevel% equ 0 (
    echo.
    echo 内存压缩已开启。
) else (
    echo.
    echo 操作失败,请检查错误信息。
)
echo.
echo 正在启用相关计划任务...
schtasks /change /tn "\Microsoft\Windows\MemoryDiagnostic\ProcessMemoryDiagnosticEvents" /enable
schtasks /change /tn "\Microsoft\Windows\MemoryDiagnostic\RunFullMemoryDiagnostic" /enable
echo.
echo 计划任务已启用。
echo 请重启系统使更改生效。
echo.
pause
goto menu


发表于 4 小时前 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
感谢分享,实用的bat
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
谢谢分享好东西
回复

使用道具 举报

发表于 3 小时前 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
是不是可以理解为更改了操作系统对物理内存和虚拟内存的使用逻辑,让操作系统更愿意使用虚拟内存?

是这个原理的话,这个东西真没什么价值。

点评

1楼重新增加了一些说明,你可以回看一下  详情 回复 发表于 2 小时前
回复

使用道具 举报

 楼主| 发表于 2 小时前 | 显示全部楼层
零下5度 发表于 2026-6-30 18:45
是不是可以理解为更改了操作系统对物理内存和虚拟内存的使用逻辑,让操作系统更愿意使用虚拟内存?

是这个 ...

1楼重新增加了一些说明,你可以回看一下
回复

使用道具 举报

发表于 2 小时前 | 显示全部楼层
这种工具在XP时代是很好用的工具,现在时代变了,内存可以很大了;但现在内存也很贵了,,,,感谢分享
回复

使用道具 举报

发表于 1 小时前 | 显示全部楼层
不错,谢谢分享!
回复

使用道具 举报

发表于 22 分钟前 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 22 分钟前 | 显示全部楼层
谢谢分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1|闽公网安备35020302032614号 )

GMT+8, 2026-6-30 21:37

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表