Nodes/comfyui-vram-overlay/MVU VRAM Monitor
ComfyUI Node

MVU VRAM Monitor

Your free VRAM, floating over every window (yes, even fullscreen)

By Maenvaeru·Created 9 months ago·Updated 8 months ago· 1
MVU VRAM Monitor
    • enabled
    enabledtrue

    If you've ever babysat a Flux or GGUF generation on a card with not much headroom, you know the ritual: every few seconds you alt-tab out, squint at nvidia-smi, and pray the free-memory number didn't collapse. MVU VRAM Monitor is the one-node version of that ritual - a tiny green readout pinned to the corner of your screen, on top of every window, that just shows you how much VRAM is actually free while ComfyUI works.

    What it actually is

    This is a standalone desktop overlay, not a browser widget. That's the whole point. Where the community-standard CrysTools panel lives inside the ComfyUI tab and vanishes when you switch away, this one spawns a separate PyQt6 process that floats over your whole desktop - click-through, always-on-top, no borders. Close the ComfyUI tab and the number keeps staring at you, which is exactly what you want when ComfyUI renders on a second monitor or you're alt-tabbed elsewhere. It's a niche, and the pack knows it: one input, one output, nothing else to fiddle with.

    How it works

    The node itself is a thin controller. When you run a prompt with enabled set to True, it launches mvu_overlay_app.py as a subprocess (via a singleton manager, so you can't accidentally spawn a dozen overlays) and hands it ComfyUI's own PID. The child app does the real work:

    • It reads free VRAM through NVML (nvidia-ml-py) every 500 ms - the same driver-level data nvidia-smi uses, not a guess. Only GPU 0 is polled, so if you're on a multi-GPU box it's watching the first card.
    • A psutil timer checks every few seconds whether your ComfyUI PID is still alive. Kill ComfyUI and the overlay quits itself; no orphan windows haunting your desktop.
    • It renders VRAM: 18432 MB in bold green at the bottom-right of your primary screen. Can't reach the GPU? It prints VRAM: Err rather than a fake number.

    Because it's a real subprocess, a crash or hang in the overlay can't take down your queue - the failure is isolated, which is honestly the best-designed part of this pack.

    The one input and the pass-through

    enabled (boolean, defaults to True): the only knob. True spawns the overlay, False terminates it. Since the node is an output node with a pass-through, you can wire its enabled output into anything downstream that needs the boolean - or ignore it entirely. You don't even need to connect it to anything; just drop it on the canvas, leave enabled on, and queue a prompt. This is the whole UI. It's refreshingly honest.

    Installing it

    Through ComfyUI Manager, search "comfyui-vram-overlay". Or clone it manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Maenvaeru/comfyui-vram-overlay
    

    Then restart ComfyUI. The critical step the README hammers on: the dependencies are not part of ComfyUI's default environment. PyQt6 is a full GUI toolkit, and your ComfyUI install almost certainly doesn't ship it. For the Windows portable build you must install into the embedded interpreter:

    cd ComfyUI/custom_nodes/comfyui-vram-overlay
    ..\..\python_embeded\python.exe -m pip install -r requirements.txt
    

    For a venv/conda install, activate your environment first, then the same pip install -r requirements.txt from inside the folder. Skip this and you'll get a ModuleNotFoundError in the console the moment the node tries to spawn the overlay.

    Where people get burned

    • Overlay never appears: nine times out of ten it's the missing dependencies above, or antivirus silently blocking Python from spawning a subprocess out of custom_nodes. Check the ComfyUI console for the traceback.
    • "NVML Shared Library Not Found": your NVIDIA driver is missing, ancient, or broken. Update it. This node is NVIDIA-only - no AMD support, no apologies.
    • "VRAM: Err": NVML can't reach the card - driver issue, card pegged by another process, or a GPU old enough that NVML doesn't cover it.
    • README staleness: the README's clone URL points at an old repo name (MVU-VRAM-Overlay.git) and insists the folder be named exactly that. The live repo is Maenvaeru/comfyui-vram-overlay; use that URL, and don't panic if Manager installs it under a different folder name - the relative imports don't care.

    Should you bother?

    If you live in the browser tab, CrysTools already covers you and this adds nothing. But if you've ever wanted a VRAM number you can glance at while a render chugs along behind a fullscreen window - or you like the idea of a monitor that can't be hidden or crashed by your own browser tab - this is a tidy, single-purpose tool. It's new, it's quiet, and its one trick is done well.

    CategoryMVU/Utils

    Inputs (1)

    NameTypeDefaultDescription
    enabledBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    enabledBOOLEAN