Lors de la construction de ma première plateforme privée d’inférence LLM sur Kubernetes équipée d’une NVIDIA RTX 3090, j’ai découvert qu’administrer un GPU nécessite des réflexes différents de ceux utilisés pour administrer un serveur classique.
Lorsqu’un GPU NVIDIA ne fonctionne pas comme prévu, les premières questions sont généralement les mêmes:
- le système Linux détecte-t-il correctement le matériel ?
- le pilote NVIDIA est-il chargé ?
- le GPU répond-il correctement ?
- quelle application utilise actuellement les ressources ?
- existe-t-il des erreurs remontées par le noyau Linux ?
L’objectif de cet article n’est pas de présenter toutes les commandes NVIDIA existantes, mais de partager les commandes essentielles que j’utilise pour vérifier, superviser et diagnostiquer un GPU NVIDIA sous Linux.
Prérequis
Pour utiliser les commandes présentées dans cet article, il faut :
- une machine Linux ;
- un ou plusieurs GPU NVIDIA installés ;
- un pilote NVIDIA installé pour utiliser nvidia-smi ;
- un accès terminal.
Les résultats peuvent varier selon: le modèle du GPU, la version du pilote NVIDIA, la distribution Linux utilisée et la configuration matérielle du serveur.
1. Vérifier que Linux détecte le GPU
Avant même de vérifier le pilote NVIDIA, la première étape consiste à vérifier que le système d’exploitation voit bien le matériel.
lspci -nn | grep -i nvidia
Les GPU NVIDIA utilisent généralement l’interface PCI Express (PCIe) pour communiquer avec le système. L’option -nn affiche également les identifiants PCI du matériel.
Cette commande est particulièrement utile :
- après l’installation d’une nouvelle carte GPU ;
- après une intervention matérielle ;
- lorsqu’un GPU n’est plus visible ;
- lorsqu’une application ne détecte plus le GPU.
2. Vérifier l’état général du GPU
nvidia-smi
nvidia-smi est l’outil principal fourni par NVIDIA pour surveiller et diagnostiquer les GPU. C’est généralement la première commande exécutée lorsqu’un problème apparaît. Elle fournit une vue globale du GPU :
- le modèle du GPU ;
- la version du pilote NVIDIA ;
- la température ;
- l’utilisation du GPU ;
- la mémoire utilisée ;
- la consommation électrique ;
- les processus utilisant le GPU.
3. Lister les GPU disponibles
Sur un serveur équipé de plusieurs GPU, il est souvent utile d’obtenir rapidement la liste des cartes visibles.
nvidia-smi -L
Cette commande affiche une liste simplifiée des GPU visibles par le pilote NVIDIA. Chaque GPU possède :
- un identifiant local ;
- un UUID (Universally Unique Identifier).
L’UUID permet d’identifier précisément une carte, notamment dans les environnements multi-GPU.
C’est une commande particulièrement utile sur :
- les serveurs multi-GPU ;
- les environnements virtualisés ;
- les opérations d’inventaire.
4. Obtenir les informations détaillées du GPU
Lorsque nvidia-smi ne suffit pas, il est possible d’obtenir un rapport beaucoup plus complet.
nvidia-smi -q
Cette commande affiche un rapport détaillé sur le GPU. L’option -q (query mode) permet d’afficher les informations détaillées disponibles. On retrouve notamment :
- caractéristiques matérielles ;
- mémoire ;
- puissance ;
- température ;
- informations PCIe ;
- état du pilote ;
- événements détectés.
Pour afficher par exemple, les informations uniquement sur la mémoire :
nvidia-smi -q -d MEMORY
5. Surveiller le GPU en temps réel
Une commande ponctuelle donne uniquement une photographie du GPU à un instant donné.
nvidia-smi -l 1
L’option -l (loop) et permet d’activer le mode de rafraîchissement automatique. La commande actualise automatiquement l’affichage toutes les secondes. Elle permet de suivre :
- l’évolution de l’utilisation GPU ;
- la consommation mémoire ;
- les variations de température ;
- les changements de consommation électrique.
6. Extraire uniquement les métriques utiles
La sortie complète de nvidia-smi contient beaucoup d’informations. Pour automatiser une collecte ou alimenter un script, il est souvent préférable de sélectionner uniquement les métriques nécessaires.
nvidia-smi \
--query-gpu=name,utilization.gpu,memory.used,memory.total,temperature.gpu,power.draw \
--format=csv
Cette commande retourne une sortie structurée contenant :
- nom du GPU ;
- utilisation GPU ;
- mémoire utilisée ;
- mémoire totale ;
- température ;
- consommation électrique.
7. Observer rapidement l’activité GPU avec dmon
Cette commande est particulièrement pratique sur des serveurs possédant plusieurs GPU lorsqu’on souhaite obtenir une vue rapide de l’activité.
nvidia-smi dmon
dmon (Device Monitor) fournit un affichage compact des métriques GPU. Il permet de suivre rapidement :
- utilisation GPU ;
- consommation mémoire ;
- puissance ;
- température.
8. Identifier les processus utilisant le GPU
nvidia-smi pmon
pmon (Process Monitor) permet de suivre l’activité des processus utilisant les GPU. Il permet d’identifier :
- le PID du processus ;
- le GPU utilisé ;
- l’activité associée.
Selon la version du pilote NVIDIA, certaines fonctionnalités peuvent varier.
9. Vérifier les modules NVIDIA chargés
Un GPU peut être présent physiquement mais ne pas être exploitable si les modules nécessaires ne sont pas correctement chargés.
lsmod | grep nvidia
lsmod affiche les modules actuellement chargés dans le noyau Linux. Un module noyau est un composant logiciel chargé dynamiquement par Linux pour ajouter une fonctionnalité. Pour NVIDIA, on peut retrouver notamment :
- nvidia
- nvidia_uvm
- nvidia_drm
- nvidia_modeset
Cette commande est utile après une mise à jour du noyau ou une mise à jour du pilote ou lorsque nvidia-smi retourne une erreur.
10. Analyser les erreurs NVIDIA dans les journaux Linux
Lorsque le problème n’est pas évident, les journaux système deviennent indispensables.
journalctl -k -b | grep -iE "nvidia|nvrm|xid"
Options utilisées :
- -k : afficher uniquement les messages du noyau Linux;
- -b : limiter au démarrage actuel.
Cette commande recherche les événements liés au pilote NVIDIA. Elle peut révéler :
- erreurs du pilote ;
- problèmes de chargement ;
- réinitialisations GPU ;
- événements matériels.
Comprendre les erreurs Xid
Les événements Xid sont générés par le pilote NVIDIA lorsqu’une erreur liée au GPU est détectée. Elles peuvent être liées à:
- un problème logiciel ;
- une communication incorrecte ;
- un comportement matériel inhabituel.
Elles doivent toujours être analysées avec le contexte du système.
Conclusion
Administrer un GPU NVIDIA sous Linux ne nécessite pas de connaître des dizaines d’outils différents. Avec quelques commandes essentielles, il est possible de :
- vérifier que Linux détecte correctement le matériel ;
- valider le fonctionnement du pilote NVIDIA ;
- surveiller l’utilisation des ressources ;
- identifier les processus actifs ;
- analyser les erreurs système.
nvidia-smi reste l’outil central, mais il devient réellement efficace lorsqu’il est associé aux outils Linux classiques comme lspci, lsmod et journalctl.
Ces commandes constituent une base solide pour toute personne amenée à maintenir des serveurs ou des stations Linux équipés de GPU NVIDIA.

