type
status
date
slug
summary
tags
category
icon
password
原文
现象
两个服务,每个服务有三个节点,其中一个节点的磁盘满了,节点所在的服务器的磁盘告警,排查下来发现是目录
data/applogs/xxl-job/jobhandler/2024-04-03
中的日志文件超大有15g左右,服务的日志中发现该目录已经无法写入文件。同时服务的进程还存活
,但是在nacos
的服务列表中发现服务已经下线
,在服务的日志文件中发现oom现象
。排查过程
- 首先根据目录日志发现是xxl-job写的日志,能确定是某些任务失败了,xxl-job不停的写入日志文件,导致日志文件不断膨胀。
- 根据服务的xxl-job 发现注册的xxl-job任务的cron为
每秒执行
、运行策略是单机串行
。
到这一步,已经发现日志的文件激增的原因,xxl-job执行doCallback失败。
下一步排查
服务下线
、xxl-job任务失败
的原因:- 分析服务日志发现nacos、xx-job的error异常信息
内存溢出错误在两个服务的日志均有发现,通过分析两个服务的dump发现,发现内存溢出的问题。
其中一个执行ma的流程的服务,发现其中一个类的大小为1705mb,而jvm设置(-Xmx)为2g,此时http请求、xxl-job都已经无法正常执行。

该类有个全局的HashMap,关键代码如下。
- Author:newrain-zh
- URL:https://alex.sh.cn/article/problem-1
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!