How to kill running processes on GPUs for a specific program (e.g. python) in terminal? For example two processes are running with python in the top picture and kill them to see the bottom picture in nvidia-smi
Find the process using your GPU resources, click on it, and press the End task button at the bottom right.
How Do I Stop An App From Using A Dedicated Gpu? Click Control + Shift + Escape on the keyboard to open Windows Task Manager. Right-click on a window that's empty on the taskbar and choose Task Manager from that window's options list. You can disable viewing GPU usage by default.
The accepted answer doesn't work for me, probably because nvidia-smi
has different formats across different versions/hardware.
I'm using a much cleaner command:
nvidia-smi | grep 'python' | awk '{ print $3 }' | xargs -n1 kill -9
You can replace $3
in the awk expression to fit your nvidia-smi
output. It is the n-th column in which the PIDs occur.
You can grep python in the nvidia-smi and then pass the PID to the kill -9 command, e.g.
sudo kill -9 $( nvidia-smi | grep 'python' | sed -n 's/|\s*[0-9]\s([0-9])\s.*/\1/p' | sed '/^$/d')
Use nvidia-smi
or top command to see processes running and to kill command:
sudo kill -9 PID
As one of other answers suggest you can use: (replace 5 with the column number where process id exists)
nvidia-smi | grep 'python' | awk '{ print $5 }' | xargs -n1 kill -9
If you might have to use this a lot you can create an alias for the command: to do that do this you should edit ~/.bash_aliases
file:
nano ~/.bash_aliases
and add the following line to it and save the file:
alias killgpuprocess="nvidia-smi | grep 'python' | awk '{ print $5 }' | xargs -n1 kill -9"
then (just needed this time):
source ~/.bashrc
Then if you run
killgpuprocess
it will kill the existing processes on GPU(s).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With