Могу ли я остановить все процессы, использующие CUDA в Linux без перезагрузки?
можно ли остановить всю запущенную обработку с помощью GPU через CUDA без перезагрузки машины?
3 ответов
утилита lsof поможет в этом. Вы можете получить список процессов, обращающихся к вашим картам NVIDIA с:
lsof /dev/nvidia*
затем используйте kill или pkill для завершения процессов, которые вы хотите. Обратите внимание, что вы не можете убить X, если он работает. В моей настольной системе и X, и kwin также получают доступ к GPU.
короткий ответ:
lsof /dev/nvidia* | awk '{print }' | xargs -I {} kill {}
завершить работу с помощью одной команды.
ответ:
lsof /dev/nvidia*
дает вам PIDs работает на вашей карте GPU, которая выглядит примерно так:
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
и
awk '{print }'
выбирает столбец PID (в моем случае это второй столбец) и
xargs -I {} kill {}
убивает эти PID-задания.