GPU Temp Monitor NVIDIA: Setup, Logs and Alerts

GPU Temp Monitor NVIDIA: Setup, Logs and Alerts

Run nvidia-smi -q -d TEMPERATURE to retrieve the current GPU temperature and the card's thermal limits, then read the GPU Current Temp field. For a timed workload trace, use nvidia-smi query logging at a one-second interval and compare temperature with clock behaviour.

A training job has slowed down, fans are loud, and the GPU still reports high utilization. The temperature looks high, but that reading alone doesn't identify the bottleneck. A useful NVIDIA GPU temperature monitor records what happened before the slowdown, which card reported it, and whether the hardware reduced performance.

Table of Contents

Check GPU Temperature with nvidia-smi in Under a Minute

Run nvidia-smi on the affected host and read the Temp column beside power draw, memory use, and utilization. That's the fastest visibility check, but the detailed temperature query provides the limits needed to interpret it.

NVIDIA's GPU monitoring documentation documents nvidia-smi -q -d TEMPERATURE and includes an example current temperature of 35°C. Its example also distinguishes operating, slowdown, and shutdown limits, rather than treating temperature as a single alarm threshold.

  1. Confirm device visibility. Run nvidia-smi and note the GPU index. Check that the expected cards appear before collecting anything.
  2. Run nvidia-smi -q -d TEMPERATURE. Save the complete output, including unsupported fields, so the device's reported limits remain attached to the investigation.
  3. Record identity with nvidia-smi --query-gpu=name,uuid,pci.bus_id --format=csv. The index is convenient for a terminal session, not a durable device identifier.
  4. Start a workload trace with nvidia-smi --query-gpu=timestamp,name,pci.bus_id,temperature.gpu,utilization.gpu,utilization.memory,power.draw,clocks.sm --format=csv -l 1. Append > gpu-thermal.csv to save the output instead of leaving it only in the terminal.
  5. Stop with Ctrl+C after the workload has exercised the card. Check whether temperature rose while clocks.sm fell, and whether utilization remained high.

A step-by-step infographic showing how to check GPU temperature using the nvidia-smi command in a terminal.

Check failures before interpreting readings

Command not found means the executable is unavailable in that environment. Check the driver installation and executable path; inside a container, check runtime exposure too.

No GPUs listed requires a different investigation: device visibility, driver health, permissions, or passthrough. Neither error means the GPU is cool.

A snapshot can catch a workload burst, a delayed poll, or a rounded sensor reading. Keep the CSV and the detailed device output together, because neither file is sufficient alone.

Temperature Limits That Decide Whether a Reading Matters

Example GPU temperature fields and what they mean

These are the fields and values from NVIDIA's example output, not default settings to apply across a fleet.

Field Example value What it means for monitoring
Current temperature 35°C Live reading the collector should log every sample
Maximum operating temperature 85°C Upper bound for normal operation on this example card
Slowdown temperature 93°C Thermal protection reduces clocks; alert when sustained
Shutdown temperature 96°C Emergency shutdown point; treat any approach as critical

Current temperature describes the measured state. It doesn't establish whether the workload is healthy, whether cooling has deteriorated, or whether a different sensor is approaching its own limit.

The maximum operating temperature describes an operating boundary, not an instruction to wait before investigating. A card consistently running hotter under an unchanged workload deserves attention even before protective behaviour starts.

The slowdown temperature matters because performance protection can affect application throughput. The shutdown temperature is an emergency boundary, not an acceptable production target or a stress-test objective.

Cooling and workload change the comparison

A 2025 arXiv study of GPU operation measured mean temperatures of 40°C for A100 GPUs and 37°C for H100 GPUs, with maxima of 49°C and 48°C, respectively, under average utilization. Those measurements describe the studied systems, not expected temperatures for every installation.

A separate 2025 arXiv study of H100 cooling reported 41–50°C for liquid-cooled systems and 54–72°C for air-cooled systems under load. Comparing those systems without retaining cooling and workload context would produce misleading conclusions.

Build a performance baseline around a representative job, its throughput, and its cooling conditions. Include fan behaviour and inlet conditions where available, especially when comparing machines in different racks.

Practical rule: Judge a reading against the same card's reported slowdown limit and expected clock behaviour, not another model's temperature.

Store the applicable limit alongside the measurement and display remaining thermal headroom. If the limit is unavailable, mark it unavailable rather than substituting a fleet-wide guess.

Choosing a Monitoring Method for Your Setup

GPU temperature monitoring methods compared

Method Best for Typical cadence Main limit
Manual nvidia-smi check Single incident on one machine On demand No retained history or alerts by itself
nvidia-smi loop logging Capturing a workload or throttling event Per second during diagnosis CSV handling and separate alert logic
NVML-based exporter or agent Ongoing monitoring across hosts Operational polling interval Code or agent maintenance and driver compatibility
DCGM stack Datacenter fleets with health checks Configurable per field group More components to install and operate

For incident logging, NVIDIA's monitoring documentation supports a query collecting temperature, utilization, power, and clocks together at a one-second interval. That combination is more useful than an aggressively sampled temperature-only chart.

Choose based on host count, retention, deployment boundaries, and ownership. A collector that nobody upgrades or checks after driver maintenance is a liability, even when its dashboard looks polished.

Match the method to the workload

For a workstation with occasional slowdowns, loop logging is usually sufficient. Start before the affected task, preserve the output, and compare the slow run with a healthy run of the same job.

For a homelab spread across several servers, an NVML-based exporter feeding Prometheus or another metrics backend provides searchable history without opening terminal sessions on every machine. Assign responsibility for service restarts, package upgrades, retention, and missing-data detection.

For a production fleet, DCGM is appropriate when operators also need GPU health diagnostics and device-specific fields. A simpler agent remains reasonable when the requirement is temperature and resource visibility rather than the broader diagnostic stack.

Faster sampling is useful only when the team retains and examines the extra detail.

Short intervals reveal transitions but increase sample volume and collection work. Normal operation can use a less aggressive interval, with higher-resolution capture reserved for diagnosis.

Keep the UUID and PCI bus ID as separate attributes. Use UUID for device identity and the bus ID for placement; a replacement card can occupy the same slot, so the bus ID alone cannot distinguish hardware replacements.

Build a Persistent Collector with NVML

NVML is NVIDIA's management library and the library behind nvidia-smi, according to the NVML API reference. Structured API calls avoid fragile parsing of a terminal summary and provide explicit return codes for unsupported fields and failures.

A persistent collector needs a clear collection lifecycle, not just a temperature call inside an endless loop.

  1. Initialize NVML. If initialization fails, report collector failure rather than publishing an empty healthy result.
  2. Enumerate devices and obtain their handles. Re-enumerate after device-related errors instead of assuming the startup inventory remains valid forever.
  3. Record UUID, PCI bus ID, and model. Attach host identity separately so moving a card doesn't erase its hardware identity.
  4. Query supported temperature, utilization, power, clock, and memory fields. Preserve units in the schema and check each call's result independently.
  5. Handle unsupported and transient errors separately. An unavailable hottest-location sensor shouldn't suppress a valid current-temperature reading.
  6. Export timestamps, device identity, field validity, and collector health. Shut down the library cleanly when the process exits.

A computer setup showing a terminal window with GPU monitoring script running and a task list notebook.

Make missing telemetry visible

An error must never become a zero-temperature sample. Publish an explicit gap or invalid state when collection fails, and retain the last successful timestamp without presenting that value as current.

Driver and library compatibility is an early setup check when NVML initialization fails. Permissions and container device exposure require separate checks when initialization succeeds but expected devices or fields remain unavailable.

Use a steady operational cadence and temporarily increase resolution during incidents. Keep diagnostic logs separate from metric samples; a Python logging-to-file setup can preserve return codes, retries, and initialization failures without contaminating metric values.

For engineering leaders connecting telemetry ownership to training and deployment processes, TekRecruiter's guidance to improve machine learning operations in 2025 offers broader operational context. The collector still needs a named maintainer and a documented upgrade procedure.

A working deployment produces a distinct series per UUID, visible gaps during failures, and retained high-resolution records around incidents.

Container and Remote Host Setups That Still Report

For Docker, verify prerequisites in order: a functioning NVIDIA driver on the host, the NVIDIA Container Toolkit, then GPU access through --gpus all or an equivalent device request. A CUDA-capable application image alone doesn't expose the host's GPU management interface.

Start a container from an official CUDA image compatible with the environment and run nvidia-smi inside it. Successful verification shows the expected devices and identities, not merely a command that exits without an obvious error.

For Kubernetes, the NVIDIA device plugin must advertise GPU resources to the scheduler. The collector also needs an appropriate deployment and access to the relevant devices; scheduling an ordinary pod onto a GPU node doesn't automatically provide that access.

Separate transport failures from sensor failures

Run the collector locally on each remote server and forward its telemetry to the monitoring backend. Repeated SSH polling introduces connection setup, latency, credential expiry, and remote-command failures into the measurement path.

If SSH polling is unavoidable, use a fixed schedule, controlled access through the jump host, and logged failures. A remote infrastructure monitoring design should make transport health visible independently of GPU health.

Container and remote host symptoms, causes and fixes

Symptom Likely cause Fix
nvidia-smi not found inside the container Toolkit absent or binaries not mounted Install or configure the NVIDIA Container Toolkit and restart Docker when required
No GPUs listed inside the container GPUs not passed through Start with --gpus all or the correct device request
Temperature shows N/A or not supported Card or driver doesn't expose that sensor Log N/A explicitly and collect supported sensors
Remote host shows no GPU data Agent stopped, outbound HTTPS blocked, or SSH key expired Check the service and the transport actually used
Temperature series jumps to another GPU after reboot GPU indexes renumbered Key series by UUID and retain PCI bus ID as placement metadata

After every change, run nvidia-smi --query-gpu=uuid,pci.bus_id,temperature.gpu --format=csv in the collection environment. Compare its identity fields with the host's inventory before trusting the restored graph.

Alerting on Sustained Heat Instead of Single Spikes

NVIDIA's NVSentinel documentation identifies DCGM field 153 as thermal margin and uses three consecutive polls by default before declaring a thermal-margin violation. It explains that margin can move by tens of degrees within seconds under load, which makes an isolated breach weak evidence of a persistent problem.

Use persistence to filter transients, then assess thermal impact. The hardware slowdown state is stronger evidence than a hot-looking temperature, while falling clocks require workload context before being attributed to heat.

  • Margin condition: Require sustained proximity to the device's applicable slowdown boundary.
  • Performance condition: Check for thermal slowdown and reduced clocks while demand remains present.
  • Alternative explanation: Inspect power-limit events separately, because power limiting can reduce clocks without proving a cooling fault.
  • Recovery condition: Clear the incident only after the relevant state and margin recover.

An infographic showing a four-step process for monitoring GPU temperature to alert on sustained heat.

Separate warnings from pages

Send warnings to a team channel when margin keeps shrinking across a configured observation window. Reserve a page for sustained thermal slowdown, especially when it coincides with degraded job throughput.

For a hypothetical card, calculate headroom by subtracting current temperature from its reported slowdown limit. The rule should react to that headroom staying small or shrinking under comparable demand, rather than matching a global Celsius threshold.

Verify an active condition with dcgmi dmon or nvidia-smi -q -d TEMPERATURE. A transient that clears with clock recovery needs different handling from a condition that remains active under sustained demand.

Use an explicit alert setup and routing workflow so warnings and pages reach different destinations. If the organisation also needs a service-management system for incident ownership, DataLunix's overview of SysAid pricing for enterprise teams can inform that separate procurement decision.

Test with a bounded, approved workload and safe stop conditions. Confirm that notifications deduplicate, recovery clears the incident, and missing telemetry produces a collection fault rather than a thermal recovery.

Choose Your Next Step This Week

Choose the smallest collection method that supports the operational requirement. A workstation investigation needs a saved workload trace; several servers benefit from an exporter and retained history; a fleet with health-diagnostic requirements may justify DCGM.

Schedule a controlled test with a named operator and a rollback or stop procedure. Record the job, cooling conditions, device identities, and expected behaviour before starting, so the result is reproducible rather than another unexplained graph.

Decide who maintains the monitoring

A self-built exporter provides control over fields, sampling, and thermal-margin calculations. The team must also own compatibility testing, storage, collector health, and notification delivery.

A hosted alternative is Fivenines: its GPU Monitoring covers NVIDIA utilization, temperature, VRAM, and power draw, while Linux Server Monitoring provides host metrics, hosted history, and alert workflows through an open-source agent. Evaluate the required thermal-limit and slowdown-state collection separately rather than assuming every hosted dashboard exposes every diagnostic field.

The choice depends on whether maintaining the telemetry pipeline is useful engineering work for that team. Either way, the acceptance test should include valid readings, deliberate collection failure, notification behaviour, and recovery.

Before the end of the week, record every GPU's UUID, configure a model-aware thermal-margin warning in the chosen monitoring stack, and run the controlled workload test. Keep the resulting trace as the first operational baseline.


Fivenines offers NVIDIA temperature, utilization, VRAM, and power monitoring alongside Linux host history and alert workflows. Visit Fivenines to assess a hosted view of GPU and server health, while retaining device-specific thermal diagnostics for throttling investigations.