Monitors Windows paging file usage and warns before a system crash (BSOD) caused by virtual memory exhaustion.
If the configured limit is exceeded, it alerts the user and force-closes Chrome, Edge, and Firefox to free memory.
On first run, it will also add itself to Windows Startup so it launches automatically.
- Windows 10 or newer
- PowerShell 3.0 or newer
config.iniin the same folder as the executable.
Example config.ini:
[Settings]
limit=85
seconds=60
added_to_startup=falseInstall PS2EXE:
Install-Module -Name ps2exe -Scope CurrentUserCompile the script to an EXE:
ps2exe blueScreenAlert.ps1 blueScreenAlert.exe -noConsole- Place
blueScreenAlert.exeandconfig.iniin the same folder. - Run
blueScreenAlert.exefor the first time — it will automatically add itself to Windows Startup. - On each run, it will:
- Check paging file usage every
secondsinterval. - If usage exceeds
limit(%), show a warning and close browsers.
- Check paging file usage every
Execution policy errors when compiling
If PowerShell blocks running scripts:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserBlocked file warning on download
Right-click the .ps1 file → Properties → check “Unblock” → Apply.
EXE not starting on boot
Check the shortcut in:
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
It should point to blueScreenAlert.exe.
Multiple instances
The EXE uses a mutex to ensure only one instance runs at a time.
- This tool is intended for personal use and testing.
- Force-killing browsers will close all open tabs without saving unsaved data.
- Use with caution on production systems.
- Read-only config: reads
config.ininext to the EXE/PS1; never overwrites it. - Autostart via Task Scheduler (Defender-friendly): enabled when
added_to_startup=truein config. - Event Log: logs config path, loaded values, task install status, and high-memory events.
- Windows 10+
- PowerShell 5+ (built-in on Win10)
config.iniin the same folder as the executable/script
Example config.ini:
[Settings]
limit=85
seconds=15
kill=chrome;msedge;firefox
added_to_startup=true