本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
解决由于 MaxJobCount 限制而导致的作业提交失败的问题
问题:作业提交失败并显示以下错误消息:
sbatch: error: Slurm temporarily unable to accept job, sleeping and retrying
即使正在运行和待处理的任务数量似乎远低于集群的任务限制,也会出现此错误。
原因:该MaxJobCount限制包括Slurm跟踪的所有作业,而不仅仅是正在运行或待处理的作业。已完成的任务会在 Slurm 的内存中保留一段时间(默认为 5 分钟),然后才会被清除。在高任务吞吐量期间,活跃任务和最近完成的任务总数可能会超过限制。
您可以通过在群集节点上运行以下命令来验证任务总数:
scontrol show jobs | grep -c JobId
这显示了 Slurm 正在跟踪的任务总数,包括等待清除的已完成任务。
解决方案:考虑以下方法之一:
-
创建更大的集群 — 如果您的工作负载持续需要更多的并发任务,请创建一个更大小的新集群。有关集群大小及其限制的更多信息,请参阅AWS PCS 中的集群大小。
-
降低作业提交率 — 调整任务提交脚本,以较慢的速度提交作业,从而将已完成的任务时间从Slurm的跟踪中清除。