工作电脑 经常出现 dwm.exe占用内存过大问题,所以弄了这个脚本,放在计划任务里,空闲时执行
rem 假设进程为 dwm.exe ,内存限制为 300MB
rem 测试环境 Win10
rem 以管理员权限运行,计划任务里,需要选中“使用最高权限运行"
@echo off
setlocal enabledelayedexpansion
:loop
for /f "tokens=1,5" %%a in ('tasklist /fi "imagename eq dwm.exe" /nh /fo table') do (
set "memory=%%b"
echo 1: !memory!
set "memory=!memory:,=!"
echo 2: !memory!
set /a "memory=memory/1024"
echo 3: !memory!
if !memory! gtr 300 (
goto killed
) else (
goto nokill
)
)
:killed
echo taskkill
timeout /t 3 >nul
echo ==== %date% %time% ====>>taskkill-dwm.txt
echo memory=!memory! MB>>taskkill-dwm.txt
echo will terminate.>>taskkill-dwm.txt
taskkill /f /im dwm.exe
goto end
:nokill
echo no terminated.
goto end
:end
echo ==== %date% %time% END====>>taskkill-dwm.txt