26 votes

Puis-je arrêter tous les processus utilisant CUDA sous Linux sans redémarrer ?

Est-il possible d'arrêter tous les traitements en cours utilisant le GPU via CUDA, sans redémarrer la machine ?

24voto

i_grok Points 258

L'utilitaire lsof vous aidera à le faire. Vous pouvez obtenir une liste des processus accédant à vos cartes NVIDIA avec :

lsof /dev/nvidia*

Ensuite, utilisez kill ou pkill pour terminer les processus que vous voulez. Notez que vous ne voudrez peut-être pas tuer X s'il est en cours d'exécution. Sur mon système de bureau, X et kwin accèdent également au GPU.

15voto

user1165814 Points 11

Longue réponse :

lsof /dev/nvidia*

vous donne les PIDs fonctionnant sur votre carte GPU qui ressemble à quelque chose comme : lsof : erreur de statut sur PID : No such file or directory

COMMAND  PID    USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
python  7215 *******  mem    CHR 195,255           434 /dev/nvidiactl
python  7215 *******  mem    CHR   195,0           435 /dev/nvidia0

et

awk '{print $2}'

sélectionne la colonne PID (dans mon cas, c'est la deuxième colonne) et

xargs -I {} kill {}

tue ces travaux PID.

Réponse courte :

Vous pouvez utiliser la commande suivante pour les supprimer tous en même temps.

Attention ! Cette commande va supprimer tous les PIDs qui apparaissent dans lsof /dev/nvidia*. Exécutez d'abord lsof /dev/nvidia* pour confirmer que ces travaux sont ceux que vous voulez supprimer.

lsof /dev/nvidia* | awk '{print $2}' | xargs -I {} kill {}

Terminez le travail par un seul ordre.

12voto

Oliver Nina Points 53

Vous pouvez vérifier les processus avec nvidia-smi y luego

kill -9 <pid>

1voto

Soma Siddhartha Points 79

Vous pouvez utiliser la commande fuser pour obtenir tous les processus utilisant CUDA, puis les tuer. Il existe également une commande unique pour les tuer tous.

sudo fuser -k /dev/nvidia*

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X