for self-hosted Ollama / vLLM / llama.cpp servers
GPU Watchdog watches the failure modes generic monitoring misses: models fighting each other for VRAM, cold-load storms after a reboot, and crash loops — then tells you before your users do.
detectors
nvidia-smi alone won't tell youAll five run in the free tier. A license unlocks multi-channel alerting and the keep_alive detector.
keep_alive isn't sticking.OLLAMA_KEEP_ALIVE predicts — usually a client request silently overriding server policy.why this exists
A multi-GPU Ollama box (three RTX 3060s and an old 1080) kept crash-looping under normal traffic. nvidia-smi looked fine between crashes. The dashboards looked fine. Nothing caught it until someone went digging in the logs by hand.
The real cause: MAX_LOADED_MODELS and KEEP_ALIVE were misconfigured on the server, and on top of that, three separate scripts were hardcoding keep_alive: -1 on their own requests — silently overriding the server's policy on every call. The box wasn't unstable. It was being told to do something impossible, over and over, by code nobody remembered was still running.
That's the specific pattern this tool watches for: not "is the GPU busy," but "is something forcing this server to fight itself."
free vs pro
All five detectors run either way. A license is for teams that want more than one alert channel.
| Capability | Free | Pro |
|---|---|---|
| Core detectors (thrash / herd / crash-loop / VRAM) | ✓ | ✓ |
| keep_alive-shortfall detector | — | ✓ |
| Alert channels at once | 1 | Discord + Slack + email |
| License | MIT, self-hosted | MIT + license key |
| Price | $0 | $39 one-time |
install
pricing
Multi-channel alerting + the keep_alive-shortfall detector. Delivered by email within minutes of purchase, automatically.