fluent-bit-core 现大量僵尸进程
现象
使用top命令可以看到红框的74个僵尸进程。

处理
想要看详细的都有哪些僵尸进程,方法也比较多
- top 按状态S排序
top 后按 f键进到过滤面板。 选到S 再按s键确认 按这个排序。然后退出过滤面板

就可以看到僵尸进程都排到前面了

- ps grep Z状态的进程
1 | ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' |
-A 参数列出所有进程
-o 自定义输出字段 我们设定显示字段为 stat(状态), ppid(进程父id), pid(进程id),cmd(命令)这四个参数
因为状态为 z或者Z的进程为僵尸进程,所以我们使用grep抓取stat状态为zZ进程

3, ps grep defunct关键字
1 | ps -ef | grep defunct |
因为僵尸进程的关键字是defunct
父进程是200441这个

就是fluent-bit进程
杀死僵尸进程的方法就是,杀死其父进程
所以,一定要确认从业务层面上,父进程是可以杀死重启的。
我这个是k8s集群以Daemonset 运行的fluent-bit
所以我可以果断重启
杀死父进程
1 | for i in `kubectl -n kubesphere-logging-system get pod | grep fluent-bit | awk '{print $1}'`;do kubectl -n kubesphere-logging-system delete pod $i; done; |