Rocky Linux 8.8集群Slurm作业R状态无输出且无法终止问题求助
Slurm作业异常(R状态无输出、CG状态卡住)排查与解决
可能成因
- 计算节点Slurm daemon与控制节点slurmctld通信中断:仅重启计算节点slurmd无法解决控制节点侧的状态同步问题,或存在网络防火墙拦截、丢包导致状态异常
- 节点资源死锁:系统核心资源(CPU、内存、磁盘IO)被异常占用,作业无法正常执行,取消时无法释放资源
- Slurm配置不一致:计算节点与控制节点的
slurm.conf关键参数不匹配,导致作业状态同步失败 - 本地存储故障:作业输出目录磁盘满、挂载异常或权限错误,导致输出无法写入,作业卡住
- 内核级死锁:节点内核出现死锁,进程无法被正常终止,引发CG状态卡住
解决步骤
1. 同步控制节点与计算节点的Slurm状态
- 在控制节点执行
sinfo,确认目标节点状态;若显示down或drain,说明控制节点已标记节点异常 - 控制节点执行
scontrol show node <节点名称>,查看State和Reason字段获取错误提示 - 重启控制节点的slurmctld服务:
systemctl restart slurmctld,之后再次检查节点状态
2. 排查节点资源占用
- 计算节点执行
top/htop,检查是否有异常进程占用全部CPU或内存 - 执行
df -h确认作业输出目录所在磁盘是否已满 - 用
iostat -x 1检查磁盘IO负载,排查IO瓶颈
3. 验证Slurm配置一致性
- 对比计算节点与控制节点的
/etc/slurm/slurm.conf,确保ClusterName、SlurmctldHost、SlurmdPort等关键参数完全一致 - 查看计算节点
slurmd日志(默认路径/var/log/slurm/slurmd.log),查找Connection refused、Configuration mismatch等错误信息
4. 强制清理异常作业与进程
- 控制节点执行
scontrol update jobid=<作业ID> state=COMPLETED,强制标记卡住的CG状态作业为完成 - 计算节点通过
squeue -j <作业ID> -o "%N %P"获取作业进程信息,再用ps aux | grep <进程ID>定位进程,执行kill -9 <进程ID>强制终止 - 清理Slurm临时文件(确认无正常作业时执行):
rm -rf /var/spool/slurm/d/*
5. 排查系统内核层面问题
- 查看
/var/log/messages或dmesg输出,查找内核panic、硬件IO错误等提示 - 若怀疑内核死锁,切换至单用户模式终止异常进程,或重新安装系统内核修复潜在bug
内容的提问来源于stack exchange,提问作者QA310
相关产品推荐
相关产品推荐

