web-dev-qa-db-fra.com

Comment tuer le processus sur les GPU avec PID dans nvidia-smi en utilisant un mot-clé?

Comment tuer les processus en cours d'exécution sur les GPU pour un programme spécifique (par exemple python) dans le terminal? Par exemple, deux processus s'exécutent avec python dans l'image du haut et tuez-les pour voir l'image du bas dans nvidia-smi

For example two processes are running with python in the top picture and kill them to see the bottom picture in nvidia-smi

8
salehinejad

Vous pouvez saisir python dans le nvidia-smi puis passer le PID à la commande kill -9 comme:

Sudo kill -9 $ (nvidia-smi | grep 'python' | sed -n 's/|\s * [0-9] \ s ([0-9] )\s. */\ 1/p '| sed'/^ $/d ')

5
salehinejad

La réponse acceptée ne fonctionne pas pour moi, probablement parce que nvidia-smi a différents formats sur différentes versions/matériel.

J'utilise une commande beaucoup plus propre:

nvidia-smi | grep 'python' | awk '{ print $3 }' | xargs -n1 kill -9

Vous pouvez remplacer $3 dans l'expression awk pour s'adapter à votre nvidia-smi production. Il s'agit de la n-ième colonne dans laquelle se produisent les PID.

7
Ainz Titor