Monitoring GPU servers in production: DCGM metrics, clock event reasons, memory errors and XIDs
- GPU utilisation counts the time any kernel runs, so a kernel that keeps a fifth of the multiprocessors busy for the whole interval still reads 100 per cent; DCGM’s SM activity reads 0.2 for it, and NVIDIA calls 0.8 or more necessary but not sufficient
- DCGM 4.6 renamed its fields, DCGM_FI_DEV_GPU_UTIL to DCGM_FI_DEV_GPU_UTIL_RATIO among them, and keeps the old names as deprecated aliases; the dcgm-exporter default file still uses the old ones
- dcgm-exporter serves Prometheus metrics on port 9400, but its default file leaves SM activity, SM occupancy, ECC counts, violation counters and NVLink errors commented out
- NVIDIA documents row remapping for Ampere, Ada, GH100 and GB10x chips, which covers the H200 NVL, L40S and L4; the RTX PRO Blackwell chips, GB202 and GB203, are not in its table
- In NVIDIA’s XID catalog, 64, 95, 119 and 120 call for an immediate GPU reset, and its triage guide says to drain a node that logs 79, a GPU that has fallen off the bus
What DCGM covers, and on which cards
NVIDIA’s Data Center GPU Manager, DCGM, is “a suite of tools for managing and monitoring NVIDIA datacenter GPUs in cluster environments”, and dcgm-exporter turns its fields into Prometheus metrics. DCGM supports data-centre GPUs from Kepler on and other GPUs from Maxwell on, the latter with “limited DCGM functionality”. Its feature table still uses NVIDIA’s old brand names: Tesla, the data-centre line, gets everything; Quadro, Titan and GeForce cards get metrics, configuration and health checks, but no policy notifications and only the first diagnostic level. No RTX PRO Blackwell card is named. The release notes add them one at a time instead, the RTX PRO 6000 Max-Q in DCGM 4.5.3 and an RTX PRO 5000 variant in 4.6.0; 4.7.0 is the newest listed. Keep DCGM current, test what it reports on workstation editions, and see our driver and CUDA guide for the driver side.
NVIDIA’s quick start runs dcgm-exporter as a container with --cap-add SYS_, and DCGM notes that profiling counters need administrator privileges. The metrics appear on port 9400, where curl localhost:9400/metrics shows them. The field list comes from /etc/dcgm-exporter/default-counters.csv, and -f points to your own.
Why GPU utilisation misleads
nvidia-smi defines GPU utilisation as the “percent of time over the past sample period during which one or more kernels was executing on the GPU”, with a sample period of 1 to 1/6 second depending on the product. It ignores how much of the GPU the kernels use. NVIDIA’s own DCGM example: on a GPU with N multiprocessors, a kernel with N/5 blocks that runs for the whole interval gives an SM activity of 0.2, while by the definition above it shows 100 per cent utilisation. On an RTX PRO 6000, with 188 multiprocessors, one busy multiprocessor reads about 0.005 by our arithmetic. NVIDIA’s guidance: “A value of 0.8 or greater is necessary, but not sufficient, for effective use of the GPU. A value less than 0.5 likely indicates ineffective GPU usage.”
| METRIC | CLASSIC FIELD | DCGM 4.6 NAME | NVIDIA’S DEFINITION |
|---|---|---|---|
| GPU utilisation | DCGM_ | DCGM_ | time with one or more kernels running |
| Graphics engine activity | DCGM_ | DCGM_ | time any graphics or compute engine was active |
| SM activity | DCGM_ | DCGM_ | time with at least one warp active, averaged over all multiprocessors |
| SM occupancy | DCGM_ | DCGM_ | resident warps against the maximum per multiprocessor |
| Tensor activity | DCGM_ | DCGM_ | cycles with the tensor pipe active |
| Memory activity | DCGM_ | DCGM_ | cycles moving data to or from device memory; about 0.8 is the practical peak |
NVIDIA DCGM feature overview and 4.6.0 release notes, which keep the classic names as deprecated aliases; GPU utilisation as defined in the nvidia-smi documentation.
For language models, read the last two rows together: token generation at low batch sizes is bound by memory bandwidth and prompt processing by compute, so expect a server that generates for a few users at a time to show high memory activity and modest tensor activity. The exporter’s default file enables graphics engine, tensor and memory activity, leaves SM activity and occupancy commented out, and still uses the classic names.
Power, temperature and clock event reasons
Power and temperature come from DCGM_ and DCGM_, renamed in 4.6 to DCGM_ and DCGM_. Take thresholds from the card: nvidia-smi reports each GPU’s Slowdown Temp, “the temperature at which a GPU HW will begin optimizing clocks due to thermal conditions”, its Max Operating Temp and its Shutdown Temp, and DCGM has fields for all three.
The Clocks Event Reasons block of nvidia-smi -q, the current name for what older tools called throttle reasons, says why clocks drop; DCGM has deprecated DCGM_ for DCGM_. SW Power Cap holds clocks down “because the GPU is consuming too much power”: under full load that is a card at its limit, so read the Enforced Power Limit beside it, and an RTX PRO 6000 that enforces 450 W instead of 600 W usually points to the power cable, as our rack power guide explains. HW Slowdown cuts “the core clocks by a factor of 2 or more” whenever HW Thermal Slowdown or HW Power Brake is active, the brake being an external signal, “e.g. by the system power supply”. SW Thermal Slowdown means the GPU is above its Max Operating Temp. Passive cards get there when chassis airflow falls short, the limit our guide to GPUs per server works through. For trends, use the time counters: nvidia-smi’s Clock Event Reasons Counters, and DCGM’s DCGM_ and DCGM_, which the exporter’s default field list leaves commented out.
ECC and row remapping
nvidia-smi splits ECC errors into correctable and uncorrectable, SRAM and DRAM, and volatile counts since the last driver load against aggregate counts that “persist indefinitely”. The matching exporter fields, DCGM_ and its siblings, are commented out by default.
Row remapping swaps a failing memory row for one of the spare rows each DRAM bank carries, up to 512 per GPU; the remap “requires a GPU reset to take effect” and then lasts for the life of the GPU. nvidia-smi -q -d ROW_ shows correctable and uncorrectable remaps, Pending (a reset is needed), Remapping Failure Occurred, and a histogram of the spare rows each bank has left. NVIDIA’s RMA policy flags a row remapping failure when a remap for an uncorrectable error hits a bank that already has eight uncorrectable remaps, or a row that was already remapped, or comes after 512 uncorrectable remaps; the GPU qualifies for RMA when that flag is set and NVIDIA’s field diagnostic validates it.
NVIDIA’s memory-error document lists row remapping for GA100, GA10x, Ada AD10x, GH100 and GB10x chips, and error containment and dynamic page offlining for GA100, GH100 and GB10x only. Among our cards, the H200 NVL, a GH100, gets all three; the L40S and L4, both Ada, get row remapping. The document names chips rather than memory types; for these cards that means HBM3e on the H200 NVL and GDDR6 on the L40S and L4. The RTX PRO Blackwell chips, GB202 and GB203, are not listed, although the nvidia-smi manual describes the row remapper as “available on Ampere+”, so check what nvidia-smi -q -d ECC,ROW_ reports on the delivered card before alerting on it. The exporter carries the remapped-row counts and the failure flag by default; DCGM_ has to be added.
NVLink on a bridged H200 NVL
Hopper uses fourth-generation NVLink with up to 18 links per GPU, and the H200 NVL brief lists 18. nvidia-smi nvlink -s shows the state of each link and nvidia-smi nvlink -e its error counters, on NVLink 4 replay, recovery and CRC errors. DCGM has counters for flit CRC, data CRC, replay and recovery errors, all four commented out in the exporter, so enable them on bridged hosts and record the link state after installation. A failing link also logs Xid 74. The RTX PRO, L40S and L4 cards have no NVLink.
The XID errors you will actually meet
An Xid is “an error report from the NVIDIA driver that is printed to the operating system’s kernel log”, on Linux a line containing NVRM: Xid. The causes range from hardware and driver bugs to “a user application problem”. NVIDIA’s catalog covers Ampere and newer GPUs, PCIe cards included, and gives each Xid an immediate and an investigatory action.
| XID | NVIDIA’S NAME | IMMEDIATE ACTION | MEANING AND ADVICE |
|---|---|---|---|
| 13 | Graphics Engine Exception | RESTART_APP | typically an application fault such as an out-of-bounds access; run DCGM diagnostics to rule out hardware |
| 31 | GPU memory page fault | RESTART_APP | an illegal address access, typically an application bug, sometimes driver or hardware |
| 45 | Preemptive cleanup, due to previous errors | WORKFLOW_ | an application was aborted, for example by Ctrl-C or a GPU reset; informational |
| 48 | Double Bit ECC Error | WORKFLOW_ | uncorrectable memory error; if 63 or 64 follows, drain the node and reset the GPU |
| 63 | GPU memory remapping event | IGNORE | the row remapper at work; applies at the next GPU reset |
| 64 | GPU memory remapping failure | RESET_GPU | the remap could not be recorded; reset the GPU or reboot the node at once, then contact support |
| 74 | NVLINK Error | WORKFLOW_ | a problem on a link to another GPU, or a failed GPU at the far end; a GPU reset or node reboot clears it |
| 79 | GPU has fallen off the bus | RESTART_BM | the driver cannot reach the GPU over PCIe; drain the node and report it |
| 95 | Uncontained memory error | RESET_GPU | containment GPUs only; with MIG drain the other instances and reset, without MIG reboot at once |
| 119 | GSP RPC Timeout | RESET_GPU | the GSP core on the GPU did not answer in time; 120, GSP Error, has the same action |
NVIDIA Xid catalog (immediate actions, trigger conditions) and GPU debug guidelines, September 2026. For Xid 94, the contained counterpart of 95, the affected application must be restarted, other applications keep running, and NVIDIA recommends a GPU reset when convenient.
The exporter’s DCGM_ holds only the “Value of the last XID error encountered”; enable the commented-out counter DCGM_ or collect the kernel log too. Before opening a case, run nvidia-bug-report.sh as root and dcgmi diag -r 3, which the triage guide lists; outside the data-centre line DCGM runs only level 1.
nvidia-smi on the node, and persistence
nvidia-smi dmon watches up to 16 GPUs, by default power, temperature, clocks and utilisation, and -s selects other sets, among them v for power and thermal violations and e for ECC and PCIe replay errors. nvidia-smi pmon shows utilisation per process. Both suit a look at one node; trends belong in DCGM.
Persistence decides what the counters mean. Without a client the driver deinitialises the GPU, which NVIDIA says “leads to long load times for each CUDA job, on the order of seconds”, and clears the compute mode, application clocks, a software power cap and the volatile ECC counts. NVIDIA calls the legacy persistence mode “near end-of-life”; nvidia-persistenced comes with the driver, but NVIDIA “cannot guarantee” that it runs by default, so check that it starts at boot.
What to alert on: examples
These rules are our examples, not NVIDIA’s; the right column names the NVIDIA statement each one rests on.
| SIGNAL | EXAMPLE RULE | BASIS |
|---|---|---|
| Serious Xid | page on 48, 64, 74, 79, 95, 119 or 120 and follow the catalog action | the catalog calls for a reset, a restart or a named workflow |
| Row remap pending | reset the GPU in the next maintenance window | the remap applies only after a reset |
| Row remap failure | open a vendor case the same day | NVIDIA’s RMA policy |
| Hardware slowdown | alert when HW Slowdown lasts more than a minute | clocks cut by half or more |
| Thermal margin | warn 5 °C below the card’s own slowdown temperature | Slowdown Temp from the card |
| Power limit | alert when the enforced limit is below the rating and nobody set a cap | Enforced Power Limit |
| NVLink errors | alert on any rise in replay, recovery or CRC counts | counters of nvidia-smi nvlink -e; Xid 74 needs a reset or reboot |
| SM activity | review placement when a serving GPU stays below 0.5 | NVIDIA: below 0.5 likely ineffective |
The one-minute duration, the 5 °C margin and the 0.5 trigger are our example values; test them on your own data first.
What we supply
Eurokommerz supplies RTX PRO Blackwell workstation cards from the RTX PRO 2000 to the RTX PRO 6000, the L4, the L40S and the H200 NVL EU-wide with manufacturer warranty, and AI servers built to order, load-tested before shipment and delivered with the operating system, drivers and container runtime installed on request. Tell us the cards and your current monitoring, and we will say which fields and alerts fit them.
FAQ
Why does nvidia-smi show 100 per cent GPU utilisation on a lightly loaded GPU?
Which DCGM metrics show real GPU load?
Does DCGM work on RTX PRO workstation cards?
What does XID 79 mean?
Which GPUs support row remapping?
Should I enable persistence mode on a GPU server?
Tell us the cards, the number of servers and what you monitor them with today. We will tell you which DCGM fields and alerts fit those cards and where the workstation editions differ. We reply within one business day.
Talk to an expertWe reply within one business day