Como matar todos os processos usando uma determinada GPU?

5

Eu uso o kit de ferramentas CUDA para realizar alguns cálculos em minhas GPUs da Nvidia. Como matar todos os processos que usam uma determinada GPU? (matando imediatamente, isto é, sem ter que digitar manualmente os PIDs atrás de kill -9 .)

Por exemplo matando todos os processos usando GPU 2:

    
por Franck Dernoncourt 18.12.2015 / 17:19

1 resposta

3

Seguindo a filosofia Unix, você tem uma ferramenta que lista processos usando uma determinada GPU e uma ferramenta que mata processos. Combine-os usando construções de shell e ferramentas de processamento de texto.

Por exemplo, para matar todos os processos usando GPU 2, você pode executar o seguinte comando:

kill $(nvidia-smi | awk '$2=="Processes:" {p=1} p && $2 == 2 && $3 > 0 {print $3}')

ou

kill $(nvidia-smi -g 2 | awk '$2=="Processes:" {p=1} p && $3 > 0 {print $3}')
    
por 20.12.2015 / 01:22

Tags