linux系统僵尸进程处理
查看僵尸进程
[root@mac-25 ~]# top
top - 19:04:11 up 177 days, 23:58, 2 users, load average: 15.18, 21.64, 22.02
Tasks: 1791 total, 2 running, 1347 sleeping, 0 stopped, 43 zombie
%Cpu(s): 30.7 us, 5.9 sy, 0.0 ni, 57.7 id, 0.3 wa, 0.9 hi, 4.4 si, 0.0 st
KiB Mem : 26325608+total, 5946560 free, 59410220 used, 19789929+buff/cache
KiB Swap: 0 total, 0 free, 0 used. 19111604+avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
147862 root 20 0 5247620 390084 19372 S 376.8 0.1 3757:24 k8s-watch
144877 root 20 0 5203492 85528 25084 S 357.5 0.0 98300:36 storage
3310035 root 20 0 8711380 464488 61500 S 156.2 0.2 74143:54 kubelet
使用top命令,找到对应zombie的数量,即当前系统的僵尸进程。
查看僵尸进程对应的进程ID
# 注意第二列是父进程ID,第三列是进程僵尸ID
# stat(状态)、ppid(进程父id)、pid(进程id)、cmd(命令)
[root@mac-25 ~]# ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]'
# 使用pstree查看进程树,-p后面指定对应的进程ID
[root@mac-25 ~]# pstree -p 7137
清理僵尸进程
- 重启系统
- 使用kill命令清理
[root@mac-25 ~]# ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]' |awk '{print $2}' |xargs kill -9