linux系统僵尸进程处理

发布时间 2023-12-22 19:14:20作者: yuhaohao

查看僵尸进程

[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