Nodes/ComfyUI Smart Helper Nodes/Smart Hardware Monitor
ComfyUI Node

Smart Hardware Monitor

Watch CPU, RAM, VRAM and temps from inside the workflow

By slvslvslv·Created 2 years ago·Updated 7 days ago· 3
Smart Hardware Monitor
    • hw_info
    refresh_rate1
    include_cpu_temptrue
    include_gpu_temptrue
    include_ramtrue
    include_cpu_usagetrue
    include_vramtrue

    Smart Hardware Monitor is the "why is my Wan render swapping" diagnostic. It samples your CPU usage, RAM, VRAM, and (where the OS lets it) CPU and GPU temperatures, and prints a snapshot as a text block in the UI. It's an output node, so it doesn't need to connect to anything - drop it on the canvas, queue, and read the report.

    The honest pitch: most of the useful half of this node is nvidia-smi and psutil doing the heavy lifting, wrapped up so the reading lands in your workflow instead of a terminal. If you already watch VRAM in Task Manager, this saves you tabbing out. The genuinely nice part is that it can run in the pipeline - wire its output into SmartSaveText and you get a hardware log alongside each render.

    How it works

    On execution it samples whatever you've toggled on and prints a header with the current time, then the metrics. VRAM and GPU temperature come from nvidia-smi (or AMD's sensor paths), CPU usage and RAM come from psutil, and CPU temperature is a whole cascade: psutil sensors, then WMI/PowerShell probes on Windows, then /sys/class/thermal zones on Linux. The refresh_rate input (1–60 seconds) controls how often the node re-executes - it fakes a "changed" result on that cadence so you can sit and watch it update during a long render.

    The defaults are all-on: CPU temp, GPU temp, RAM, CPU usage, VRAM. Each has its own boolean, so you trim the report to what you actually care about.

    The inputs that matter

    • refresh_rate - seconds between refreshes (1–60, default 1).
    • The five include toggles: include_cpu_temp, include_gpu_temp, include_ram, include_cpu_usage, include_vram.

    Output: hw_info (STRING).

    The gotcha: CPU temperature is often "Not available"

    This is the node's dirty secret and it's mostly not the author's fault. Windows locks down direct sensor reads, so on a typical Windows box CPU temp shows as unavailable unless you install OpenHardwareMonitor or HWiNFO with shared memory - the node literally prints these instructions when it fails. On Linux it needs lm-sensors and the coretemp module loaded. GPU temp, by contrast, usually just works via nvidia-smi. Read a missing CPU temp as "your OS doesn't hand that out for free," not a broken node.

    Installing it

    It's part of SmartHelperNodes, so install the pack once:

    cd ComfyUI/custom_nodes
    git clone https://github.com/slvslvslv/ComfyUI-SmartHelperNodes
    

    Restart ComfyUI, or install via ComfyUI Manager ("SmartHelperNodes"). The pack has no required pip dependencies; psutil is used if present and gracefully skipped if not. If RAM/CPU usage shows "psutil not available," install it: pip install psutil.

    Where it actually helps

    Wan 2.2 14B dual-pass is the case study - two models in flight, heavy offloading, VRAM as the bottleneck. A VRAM readout that updates in-workflow tells you whether the slow render is genuine sampling or the model being shuffled to and from RAM every pass. For that alone, this node earns its place in a video workflow.

    Common issues

    The refresh cadence only fires when the node is in an executing graph - it's a snapshot node, not a live dashboard, so a queue that's not running gives you a static reading. And the report is one string, so if you log it to a file every run you'll build up a nice history; if you only want the latest, point it at a fresh filename.

    CategorySmartHelperNodes

    Inputs (6)

    NameTypeDefaultDescription
    refresh_rateINT11–60Refresh rate in seconds for hardware monitoring
    include_cpu_tempBOOLEANtrueInclude CPU temperature in output
    include_gpu_tempBOOLEANtrueInclude GPU temperature in output
    include_ramBOOLEANtrueInclude RAM usage in output
    include_cpu_usageBOOLEANtrueInclude CPU usage percentage in output
    include_vramBOOLEANtrueInclude VRAM usage in output

    Outputs (1)

    NameTypeDescription
    hw_infoSTRING