本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
故障診斷因 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 追蹤中清除完成的任務時間。