当前位置:首页>Linux>Linux服务自动掉线问题排查,都是僵尸惹的祸

Linux服务自动掉线问题排查,都是僵尸惹的祸

  • 2026-09-02 16:59:30
Linux服务自动掉线问题排查,都是僵尸惹的祸

点击上方“只会写BUG的程序猿”,选择“设为星标”

“ 公司项目15个Java服务.都部署在一个服务器上,最近几天一直是不是就会挂掉.就像是被人为kill -9掉了.。”

01

—

排查思路

01 查看Java服务日志

—

这一块排查Java日志.没有发现有OOM,死循环等影响服务能挂掉的代码.

02 查看Nacos服务日志

—

nacos服务日志,

a.大量服务实例健康检查失败,达到保护阈值

b.服务单点故障风险极高

c.自动恢复的时候,Rooszhang服务没有正常启动,排查日志.seata的报错.

怀疑是不是分布式,排查后发现也不是.

03 查看Java服务日志

—

因为是微服务,而且没有做日志统一管理,所以一个个去看.也没有发现有什么异常错误.只是在网关发现有一个漏洞注入.但是这个没有成功.之后服务就掉线了.怀疑是病毒.

04 查看病毒服务日志

—

# 1. 持续观察CPU,按 C 可看完整命令。如果CPU有进程持续异常占用(比如>500%),要重点关注。top -c# 2. 查看网络连接,找异常。比如连接到非常见国家IP、非业务端口的连接。# 重点看 ESTABLISHED 状态的连接,忽略你的服务端口和已知地址(如阿里云RDS)。netstat -antp | grep ESTABLISHED
# 查看所有用户的定时任务cat /etc/crontabls -la /etc/cron.* /var/spool/cron/# 检查系统启动项,找异常自启脚本systemctl list-unit-files | grep enabled

AI给我的理由:

  • 病毒要的是潜伏和控制:挖矿、勒索、DDoS。它会拼命“寄生”在系统里,最怕的就是宿主服务挂掉。

  • 你的情况是进程直接终止:服务崩溃,等于病毒的“宿主”死了,这与病毒的利益完全相悖。

查看所有的启动服务

systemctl list-unit-files | grep enabled

也没有发现什么异常服务.

05 重大嫌疑犯

—

top -c

僵尸进程泛滥,系统资源耗尽

Tasks: 12914 total,   1 running, 360 sleeping,   0 stopped, 12553 zombie

12553 个僵尸进程! 这是最致命的发现。

后面我查了一下.这个僵尸进程还在一直增加.直到我处理的时候,已经飙升到12650的程度.
# 统计所有僵尸进程的父进程,按数量排序ps -eo ppid,stat | grep Z | awk '{print $1}' | sort | uniq -c | sort -nr
# 查看其打开的文件,看它正在处理什么数据lsof -p 2464
中间.我还以为是zipkin的问题.在服务器上查了好久.还修改了项目中的链接.
# 直接杀死僵尸进程.kill 2464
周末7天.一天都没有服务自动挂掉.问题完美解决.

拈㕦一笑的CSDN

https://blog.csdn.net/u013432938?type=blog

最新文章

随机文章