nvidia-smi | grep 'python' | awk '{ print $3 }' | xargs -n1 kill -9
您可以在awk表达式中替换$3
以适应您的nvidia-smi
输出。它是出现PID的第n列。
使用 nvidia-smi
或 top 命令来查看正在运行的进程,并杀死命令:
sudo kill -9 PID
nvidia-smi
中使用 grep
命令查找 "python",然后将 PID
传递给 kill -9
命令,例如。sudo kill -9 $( nvidia-smi | grep 'python' | sed -n 's/|\s*[0-9]*\s*\([0-9]*\)\s*.*/\1/p' | sed '/^$/d')
当nvidia-smi显示占用GPU内存的进程时,我想问题已经得到了解决。对我来说,即使nvidia-smi没有显示任何进程,GPU内存也正在被使用,我想要终止它们。
在这种情况下,解决方法是使用fuser命令查找正在使用特定GPU设备的进程。在我的情况下,我想杀死所有使用GPU设备3的进程。 可以使用以下命令执行:
sudo fuser -k /dev/nvidia3
你可以使用-ki来交互式地终止进程。
nvidia-smi | grep 'python' | awk '{ print $5 }' | xargs -n1 kill -9
如果你需要经常使用这个命令,可以为它创建一个别名:要这样做,请编辑~/.bash_aliases
文件:
nano ~/.bash_aliases
并在其中添加下面一行代码,保存文件:
alias killgpuprocess="nvidia-smi | grep 'python' | awk '{ print $5 }' | xargs -n1 kill -9"
source ~/.bashrc
如果你运行
killgpuprocess
这将会终止GPU上现有的进程。
nvidia-smi --query-compute-apps=pid --format=csv,noheader | xargs -n1 kill -9
nvidia-smi | grep 'python' | awk '{ print $3 }' | sudo xargs -n1 kill -9
- Aaron Soellingerkill: argument couldn't be read: '1-nan'
的错误提示。 - MJimitaterkill -9 <pid>
可以生效。明智地使用sudo
。 - Prakash Vanapallinvidia-smi | grep 'python' | awk '{ print $5 }' | xargs -n1 kill -9
这个命令有效。 - Aaditya Ura