清理占用GPU显存的僵尸进程

概要

在基于Linux(Ubuntu)系统进行开发时。程序调用GPU进行运算(如深度学习框架,尤其是Paddle框架),若进程非正常终止,最常见是在进程运行中使用Ctrl+C杀死进程,进程结束后会留下僵尸进程,使用kill -9 pid指令提示 No such process

网上很多博客介绍使用fuser -v /dev/nvidia*查看PID,但这个指令返回的结果只有pid,没有其他信息,然后手动复制,一个一个尝试。

这样操作流程比较费事,每次都要折腾挺久,所以我加了个流程,自动清理。

Talk is cheap. Show me the code

具体指令如下:

fuser -v /dev/nvidia0 | awk '{print $0}' |  xargs kill -9

这行指令能够自动清理编号为0的显卡上当前用户的所有调用GPU进程,注意使用该指令会清空所有程序。清理第二块卡将0改成1,以此类推。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐