banshee is under active development: collectors will keep changing, and a version you publish will likely need adjustments. For stable use, wait for version 1.0.0.

Hardware

banshee/hardware-collection/hardware/gpu/nvidia/ssh/

gpus

The utilization, memory, temperature, power, hardware slowdown and ECC errors of each NVIDIA GPU of a Linux by SSH.

  • hardware
  • gpu
  • nvidia
  • nvidia-smi
  • cuda
  • ecc
  • ssh
  • linux

by banshee0 installations1 version

v1Latest

Published on October 28, 2026. First version.

NVIDIA GPUs, by SSH

Returns, for each NVIDIA GPU of a Linux machine, read by nvidia-smi, its utilization, its memory used, its temperature, its power draw, whether its hardware slows its clocks down, and its uncorrected ECC errors on a GPU that has ECC. Five watches are offered, each one set on the probe. No sudo: nvidia-smi reads all this as any user.

Versions

Generic: the fields asked for are those nvidia-smi --query-gpu has served for years, on every driver that knows the slowdown field under one of its two names. The field of the hardware slowdown is named clocks_throttle_reasons.hw_slowdown by the older drivers and clocks_event_reasons.hw_slowdown by the later ones: the collector asks the driver which it knows first. One collector serves every driver, so it stays at the common level.

How it works

The collector runs two commands:

  1. nvidia-smi --help-query-gpu: the fields the driver knows; it tells which name of the slowdown field to ask for;
  2. nvidia-smi --query-gpu=index,uuid,name,utilization.gpu,memory.used,memory.total,temperature.gpu,power.draw,<slowdown field>,ecc.errors.uncorrected.volatile.total --format=csv,noheader,nounits.
0, GPU-5e4c0d3a-9f6b-4c1e-8a7d-2b3c4d5e6f70, NVIDIA A100-SXM4-40GB, 37, 10240, 40960, 54, 212.41, Not Active, 0
  • A GPU is named by its UUID (GPU-…), which follows the card when it changes slot or when the driver numbers the GPUs otherwise at a boot; its index (the order of the PCI bus) and its model are outputs. The index is shorter to read but changes when a card is added or removed: a missing watch on it would follow the wrong card.
  • utilization is the share of time a kernel ran on the GPU over the last sample, in %; memory-used its memory in use, in MiB, and memory-used-percent the same against its total; temperature its core temperature in °C; power its power draw in W.
  • slowdown reads active when the hardware cuts the clocks (by a factor of two or more: the GPU too hot, or a power brake from the system), not-active otherwise. The software power cap and the idle clocks, which are normal, are not counted.
  • ecc-errors counts the uncorrected ECC errors since the driver was loaded; one is enough to make a computation wrong, and the GPU must be reset.
  • A field the GPU does not serve reads [N/A] or [Not Supported] (ECC on a consumer GPU, the power draw on some): it is not returned.
  • nvidia-smi missing, a driver not loaded, or a query refused, stops the collector misconfigured with what it said; so does a machine where it lists no GPU.
  • Nothing is written on the target: both commands only read.

Prerequisites

  • An SSH account for monitoring, without write rights.
  • The NVIDIA driver installed and loaded, with nvidia-smi in the account's path (/usr/bin/nvidia-smi on most distributions).
  • The fingerprint of the server's host key, set in protocol:ssh:fingerprint (not needed when the Security settings trust the first SSH fingerprint presented).

Outputs

NameLabelUnitPer instance
indexIndex—yes, per GPU
modelModel—yes, per GPU
utilizationUtilization%yes, per GPU
memory-usedUsed memoryMiByes, per GPU
memory-used-percentUsed memory%yes, per GPU
temperatureTemperature°Cyes, per GPU
powerPower drawWyes, per GPU
slowdownHardware slowdown—yes, per GPU
ecc-errorsUncorrected ECC errors—yes, per GPU

Watches

NameTitleKindDefaultsChecked by default
hotHigh temperatureabove a threshold, on temperaturewarning above 80 °C, critical above 90 °C, for 3 runsyes
slowdownHardware slowdownstate to avoid, on slowdownwarning on active, for 3 runsyes
ecc-errorsUncorrected ECC errorsabove a threshold, on ecc-errorscritical above 0yes
memory-fullGPU memory fullabove a threshold, on memory-used-percentwarning above 95 %, for 3 runsno
missingGPU missingexpected instances, on modelno GPU named: it raises nothing until names are set on the probeno
  • A GPU at 100 % of utilization is a GPU at work: no watch is offered on it by default. A framework that takes all the GPU's memory at start is normal too, hence memory-full unchecked.
  • A card that falls off the bus (the driver's Xid 79) disappears from the list: only missing sees it, once its UUID is set.

Limits

  • Linux only, where nvidia-smi is run through the shell of the SSH account; the Windows nvidia-smi.exe is not read.
  • A model name with a comma would cut its line wrongly: that line is left out.
  • The temperature thresholds suit most data-center GPUs; the slowdown temperature of each model is given by nvidia-smi -q -d TEMPERATURE, and the thresholds are set lower than it on the probe.
  • Not checked against a GPU: the fields, their order and the words Active, Not Active, [N/A] are those of NVIDIA's documentation of nvidia-smi and of its NVML reference; that each driver still accepts clocks_throttle_reasons.hw_slowdown when it does not list clocks_event_reasons.hw_slowdown is not verified.