A tiny always-on-top widget that shows which app is eating your VRAM.
Windows · NVIDIA · GPL-3.0
Task Manager tells you your GPU is at 98%. It does not tell you that it's Stable
Diffusion, not the browser. nvidia-smi won't tell you either — on a normal
consumer GPU it reports N/A for per-process memory.
VRAMHog does, in a strip you can leave on screen while you work.
- Per GPU — utilization %, a sparkline of the last ~2 minutes, VRAM used / total, temperature, and power draw.
- Per process — the top apps on each GPU, with their VRAM and their GPU
utilization, labelled properly (
ComfyUI,Ollama,Blender) instead of a wall of identicalpython.exeentries. - Live % on the tray icon — the busiest GPU's utilization as a red number on pink, readable even with the widget hidden.
- A splash on start, which you can turn off from the tray menu.
- Compact view — a slim ~400×50 bar strip. Double-click the widget to toggle.
- Minimises to the tray. Drag it anywhere; it remembers where you put it.
Download VRAMHog.exe from the
latest release and
double-click it. No installer, no Python, nothing written to your registry.
The app is not code-signed, so Windows SmartScreen will warn you the first time. Here's how to get past it, and how to verify the download first.
Verify your download — VRAMHog.exe v1.0.0 should hash to:
6ab70df03afdb8fbba2201553ad503a89a1de5de361aaa809b8d27ffefeabcd5
Get-FileHash .\VRAMHog.exe -Algorithm SHA256To start it automatically with Windows: right-click the tray icon → Start with Windows.
git clone https://github.com/scarylasers/VRAMHog.git
cd VRAMHog
pip install -r requirements.txt
python -m vramhog.mainOptionally, create Desktop and Start Menu shortcuts that launch it without a console window:
powershell -ExecutionPolicy Bypass -File install_shortcuts.ps1Add -Startup to also run it at login, or -Remove to take the shortcuts away.
- Windows 10 or 11
- An NVIDIA GPU with the official driver installed
- Python 3.10+ (source install only — the .exe needs nothing)
Multiple GPUs are supported and were the reason this exists; one GPU works fine too. AMD and Intel GPUs are not supported: the per-GPU numbers come from NVIDIA's own driver library.
Consumer NVIDIA GPUs run in WDDM mode, where NVML and nvidia-smi cannot
report per-process VRAM at all. So VRAMHog reads two different sources and
stitches them together:
| Data | Source |
|---|---|
| Per-GPU util, VRAM, temp, power | NVML (nvidia-ml-py) |
| Per-process VRAM and utilization | Windows GPU performance counters via win32pdh — the same data Task Manager uses |
| Which counter belongs to which GPU | LUID → GPU index, read from HKLM\SOFTWARE\Microsoft\DirectX |
If you're tempted to simplify this to nvidia-smi: that path is a dead end on
Windows. docs/DESIGN.md has the full reasoning.
Settings live in %APPDATA%\VRAMHog\config.json:
{
"x": 80, "y": 80,
"interval_ms": 2000,
"compact": false,
"tray_percent": true,
"splash": true
}Lower interval_ms for snappier updates; raise it to reduce overhead. Everything
else is set from the tray menu.
Process labels are a plain list in vramhog/process_labeler.py. Each entry is
(substring_to_match, friendly_label), matched case-insensitively against the
process name and its full command line, first match wins:
KEYWORD_MAP = [
("comfyui", "ComfyUI"),
("my-training-script", "LoRA training"),
...
]Pull requests adding labels for common tools are very welcome.
pip install -e ".[dev]"
python -m pytest -q # 26 tests, no GPU required
python -m vramhog.main --once # print one snapshot to the console
python assets/make_icon.py --check # verify the icon has every size
python assets/make_icon.py # rebuild it from assets/vramhog-source.png
powershell -File build_exe.ps1 # build dist\VRAMHog.exeThe reader modules (gpu_reader, gpu_map, process_reader,
process_labeler) have no Qt dependency and are unit-tested with injected
inputs, so the parsing logic can be worked on without a GPU present.
GPL-3.0 — see LICENSE and NOTICE.md.
Use it, fork it, build on it. If you distribute your version — free or paid — you have to publish its source under the same licence, so nobody can take VRAMHog closed-source. The name and the artwork stay mine; give your fork its own.

