为什么作业自动重新提交运行了,且 Job ID 没有变动?
当作业正在运行的计算节点突然发生硬件故障(如宕机、网络中断、电源故障)或服务无响应时,Slurm调度系统会检测到该节点状态异常(Down/Drain/Fail)。
为了不让作业直接失败(Failed),系统会自动将该作业的状态重置为 PENDING(排队中),并将 Job ID 保留,等待调度器将其重新分配到其他健康的节点上继续运行。
这意味着作业是从头开始运行,而不是从中断点继续(除非您的程序具备 Checkpoint/Restart 断点续算功能)。
建议
由于重排队会导致作业从头重新计算,如果您的作业运行时间较长,强烈建议在代码中设置断点续算(Checkpointing)机制,以免因系统自动重排队而覆盖已计算的结果。
如果想禁止作业在节点故障后自动重新排队,可以使用 --no-requeue 参数。在您的提交
sbatch脚本中的 #SBATCH 头部区域加入以下一行:#SBATCH --no-requeue