Kill

如何使用給定的 GPU 殺死所有程序?

  • July 23, 2021

我使用 CUDA 工具包在我的 Nvidia GPU 上執行一些計算。如何殺死使用給定 GPU 的所有程序?(立即殺死,即無需手動鍵入 PID 後面kill -9。)

例如使用 GPU 2 殺死所有程序:

在此處輸入圖像描述

遵循 Unix 哲學,您有一個工具可以列出使用給定 GPU 的程序,以及一個殺死程序的工具。使用 shell 結構和文本處理工具將它們組合起來。

例如,要殺死所有使用 GPU 2 的程序,可以執行以下命令:

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

或者

kill $(nvidia-smi -g 2 | awk '$2=="Processes:" {p=1} p && $3 > 0 {print $3}')
lsof /dev/nvidia* | awk '{print $2}' | xargs -I {} kill {}

為我工作。

就我而言,這些程序未從nvidia-smi.

參考:https ://stackoverflow.com/questions/4354257/can-i-stop-all-processes-using-cuda-in-linux-without-rebooting

引用自:https://unix.stackexchange.com/questions/250244