作业状态代码
Slurm 系统中的每个作业都有一个分配的状态。作业状态的显示方式取决于用于识别状态的方法。
概述
在 Slurm 代码中,有 基本状态 和 状态标志。每个作业都有一个基本状态,并且可能设置额外的状态标志。当使用 REST API 时,将返回基本状态和当前标志。
当 squeue 和 sacct 命令报告作业状态时,它们将其表示为单一状态。两者都会识别所有基本状态,但并非所有状态标志。如果存在已识别的标志,则将报告该标志而不是基本状态。有关详细信息,请参阅相关命令文档。
此页面表示代码中所有作业代码和标志。提供的名称是用于用户输出的字符串表示。对于大多数情况,代码中使用的名称是相同的,以 JOB_
开头。要更清楚地了解作业状态和标志,请在 slurm.conf 中设置 DebugFlags=TraceJobs
和 SlurmctldDebug=verbose
(或更高)。
作业状态
系统中已知的每个作业将具有以下状态之一:
名称 | 描述 |
BOOT_FAIL | 由于节点启动失败而终止 |
CANCELLED | 被用户或管理员取消 |
COMPLETED | 成功完成执行;在所有节点上以零的 退出代码 结束 |
DEADLINE | 由于达到作业指定的最新可接受开始时间而终止 |
FAILED | 执行未成功完成;非零 退出代码 或其他失败条件 |
NODE_FAIL | 由于节点故障而终止 |
OUT_OF_MEMORY | 出现内存不足错误 |
PENDING | 排队并等待启动;通常会有一个 原因代码 指定为何尚未启动 |
PREEMPTED | 由于 抢占 而终止;可能根据配置的 PreemptMode 和作业特性转换为其他状态 |
RUNNING | 分配资源并正在执行 |
SUSPENDED | 分配了资源但执行被暂停,例如由于 抢占 或授权用户的 直接请求 |
TIMEOUT | 由于达到时间限制而终止,例如在 slurm.conf 中配置的或为单个作业指定的限制 |
作业标志
作业可能设置额外的标志:
名称 | 描述 |
COMPLETING | 作业已完成或被取消,并正在执行清理任务,包括(如果存在)epilog 脚本 |
CONFIGURING | 作业已分配节点,正在等待它们启动或重启 |
LAUNCH_FAILED | 在所选节点上启动失败;包括 prolog 失败和其他失败条件 |
POWER_UP_NODE | 作业已分配关闭的节点,正在等待它们启动 |
RECONFIG_FAIL | 作业的节点配置失败 |
REQUEUED | 作业正在重新排队,例如由于 抢占 或授权用户的 直接请求 |
REQUEUE_FED | 由于其在 联邦 设置中的兄弟作业的条件而重新排队 |
REQUEUE_HOLD | 与 REQUEUED 相同,但在被 释放 之前不会被考虑调度 |
RESIZING | 作业的大小正在变化;防止发生冲突的作业更改 |
RESV_DEL_HOLD | 由于删除的保留而被保留 |
REVOKED | 由于其在 联邦 设置中的兄弟作业的条件而被撤销 |
SIGNALING | 向作业发送的信号待处理 |
SPECIAL_EXIT | 与 REQUEUE_HOLD 相同,但用于识别适用于该作业的 特殊情况 |
STAGE_OUT | 正在分阶段输出数据(突发缓冲区) |
STOPPED | 接收到 SIGSTOP 以在不释放资源的情况下暂停作业 |
UPDATE_DB | 向数据库发送有关作业的更新 |
最后修改于 2024 年 10 月 01 日