Nodes/ComfyUI-VRAM-watcher/VRAM Watcher (Bar)
ComfyUI Node

VRAM Watcher (Bar)

Put a VRAM meter on your ComfyUI canvas (stop alt-tabbing to nvidia-smi)

By zwaigani·Created 8 months ago·Updated 8 months ago· 2
VRAM Watcher (Bar)

      VRAM Watcher (Bar) is a live VRAM and RAM usage meter that lives right on your ComfyUI canvas, instead of buried in nvidia-smi or Task Manager. It's the kind of node you don't appreciate until your 8 GB card is wheezing through a Flux workflow and you're trying to figure out whether that next --lowvram-style squeeze is worth it. The answer to "am I about to OOM?" is usually "yes, always," but it's nice to watch it coming.

      The honest pitch: this is a display-only node. It has zero inputs, zero outputs, and wires into nothing. You drop it on the canvas, it shows two colored bars (VRAM on top, RAM below), and a small message panel underneath. If you're the type who keeps nvidia-smi --loop in a terminal on the second monitor, this just saves you the glance. If you run ComfyUI next to a local LLM fighting over the same card, a warning when free VRAM drops below your threshold beats discovering it via a hard OOM crash.

      How it works

      The node itself is nearly empty - a stub class whose run() returns (). The real work happens in two pieces. The backend registers an HTTP route (/vram_watcher/status) on ComfyUI's own server, and a JavaScript extension polls it. No hidden API keys, no external services, nothing leaves your machine.

      • VRAM comes from torch.cuda - specifically torch.cuda.mem_get_info() for real free/total numbers on your current device.
      • RAM on Linux is read from /proc/meminfo, using MemAvailable for a realistic "used" figure. Anywhere else it falls back to psutil.

      That's the whole mechanism. It's refreshingly boring, which is exactly what you want from a monitoring node.

      The settings that matter

      Since there are no inputs or outputs, everything you configure is a widget on the node. The defaults are sensible, and there are really only a few you'll touch:

      • Interval (s) - polling interval, default 5s. Lower it to 1s if you're obsessing, but 5s is fine for watching a generation crawl.
      • Display - % or MB. Percentage is fine until you want to see the actual number.
      • VRAM Warn Free (GiB) - warning when free VRAM dips below this (default 1.0 GiB).

      That last one is the setting worth knowing about. The README's tip is spot-on: OOM can happen even below 90% usage, so a free-space threshold catches the sharp spikes a percentage hides. The other two warnings are VRAM Warn (%) (default 85) and RAM Warn (%) (default 90). Bars go green → yellow → red as they fill, and the warning panel clears itself once usage drops.

      Install

      Grab it via ComfyUI Manager (search "ComfyUI-VRAM-watcher"), or the manual route:

      cd ComfyUI/custom_nodes
      git clone https://github.com/zwaigani/ComfyUI-VRAM-watcher.git
      

      Restart ComfyUI and add the node via right-click → VRAM Watcher (Bar) (category utils). No model files to download, and the only Python dependency is psutil - and even that is conditional: Linux uses /proc/meminfo directly, so psutil only matters on Windows/macOS. For a custom node ecosystem where dependency conflicts are the #1 headache, this one is about as low-risk as it gets.

      Troubleshooting

      • VRAM shows "unavailable" - torch.cuda.is_available() is false. That means a CPU-only build, a missing CUDA install, or an unsupported GPU. It's telling the truth; the node can't invent a meter for a card it can't see.
      • RAM shows "unavailable" on Windows/macOS - psutil didn't install. Check custom_nodes/ComfyUI-VRAM-watcher/requirements.txt and pip install psutil into your ComfyUI environment.

      If you're hitting actual OOM crashes, this node tells you where the line is, but it won't move it - for that, GGUF quantized models are still the real lever on a small card.

      Categoryutils

      Inputs (0)

      No inputs

      Outputs (0)

      No outputs