You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SLURM节点重启后无法解除DRAIN状态问题求助

问题描述

在个人PC的SLURM集群中运行作业时电脑意外重启,重启后通过squeue发现之前的作业因节点neuropc进入DRAIN状态已停止,但被自动重新排队。执行scancel取消重排队作业后,无法释放该节点,尝试以下操作均无效:

  • 重启slurmctld和slurmd服务
  • 执行节点解除DRAIN状态的命令(无输出但状态未变)
  • 手动重启系统

执行scontrol show node neuropc得到关键输出:

[...]
State=IDLE+DRAIN ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A
[...]
Reason=Low RealMemory [slurm@2023-02-05T22:06:33]

另外系统监视器显示8核有5%-15%的活动,但进程页仅显示TeamViewer占用不足4%,怀疑旧作业重启后仍在运行或被SLURM残留。

系统环境:Ubuntu 20.04,SLURM 19.05.5

解决方案

1. 排查并清理内存占用

SLURM标记节点为DRAIN的直接原因是Low RealMemory,先检查当前内存使用:

free -h

如果内存确实紧张,先清理缓存:

sudo sync && sudo sysctl -w vm.drop_caches=3

2. 查找并清理SLURM残留进程

即使取消了作业,可能还有残留的作业进程在后台运行,用以下命令查找SLURM相关进程:

ps aux | grep slurm
ps aux | grep srun

找到可疑进程后直接杀掉:

sudo kill -9 <进程PID>

3. 强制解除节点DRAIN状态

执行强制解除命令(替换为你的节点名neuropc):

sudo scontrol update node=neuropc state=IDLE reason="Cleared Low RealMemory issue"

如果上述命令无效,尝试清除DRAIN标记:

sudo scontrol update node=neuropc state=RESUME

4. 验证节点状态

执行以下命令检查节点是否恢复正常:

scontrol show node neuropc | grep State

若输出显示State=IDLE,说明节点已恢复,可提交新作业测试。

额外排查:隐藏进程导致的CPU占用

如果CPU仍有异常占用,用htop查看更全面的进程信息:

sudo apt install htop -y
htop

按F6按CPU占用排序,找到隐藏的高占用进程并终止。


内容的提问来源于stack exchange,提问作者Girardi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 17:10:37