# How to Kill Zombie Processes
# 问题介绍
正常情况下用户不需要管理僵尸进程Zombie Process
,但有时候僵尸进程还是会占用资源,譬如题主遇到的情况是Zombie Process
占用了显卡的显存,导致启动新的训练任务就会内存溢出,无法进行模型的训练。
僵尸进程通常由网络文件系统不响应,内核bug
,硬件bug
导致。
# 解决办法
查看系统中的僵尸进程,及其对应的父进程:
$ ps axo stat,ppid,pid,comm | grep -w defunct
# Z 555 10242 Damn-Zombie < defunct >
根据父进程号向其发送SIGCHLD
信号,尝试杀死PPID
下的僵尸进程:
$ sudo kill -s SIGCHLD 555
如果SIGCHLD
还是没能终止僵尸进程,尝试使用
$ sudo kill -9 555
不过这个命令会杀死父进程555
及其下的所有子进程。