跳到主要内容

⭐️squeue

简介

squeue 是 Slurm 系统中用于查看作业队列状态的命令:

  • 显示所有排队和运行中的作业
  • 支持多种筛选、排序和格式化选项
  • 可查看作业详细信息和状态原因

常用参数

参数说明示例
-a, --all 显示所有队列中的作业squeue -a
-j, --job=job(s) 指定作业IDsqueue -j 123,124
-u, --user=user_name(s)按用户筛选squeue -u user1
-p, --partition=partition(s)按分区筛选squeue -p gpu
-t, --states=states按状态筛选squeue -t RUNNING
-i, --iterate=seconds间隔刷新squeue -i 5 (5秒刷新)
-o, --format=format自定义输出squeue -o "%i %P %j %u %t %M %D %R"
-S, --sort=fields排序输出squeue -S "-t" (按时间降序)
--start显示预计开始时间squeue --start

使用示例

用户用squeue命令查看作业运行情况。

# squeue -a
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
8 compute sleep root R 8-02:07:58 2 ip-10-10-2-[70,80]

其中JOBID 表示任务ID,Name表示任务名称,USER为用户,TIME为已运行时间,NODES表示占用节点数,NODELIST为任务运行的节点列表。-a表示显示所有队列作业信息。

squeue支持多个字段的作业信息显示,例如在默认输出之外额外显示任务的提交时间和工作目录:

squeue -a -o "%.18i %.9P %.8j %.8u %.2t %20V %.10M %.6D %R %Z"

输出字段详解

  • JOBID:作业号。

  • PARTITION:队列名(分区名)。

  • NAME:作业名。

  • USER:用户名。

  • ST:状态。

    • PD:排队中,PENDING。
    • R:运行中,RUNNING。
    • CA:已取消,CANCELLED。
    • CF:配置中,CONFIGURING。
    • CG:完成中,COMPLETING
    • CD:已完成,COMPLETED。
    • F:已失败,FAILED。
    • TO:超时,TIMEOUT。
    • NF:节点失效,NODE FAILURE。
    • SE:特殊退出状态,SPECIAL EXIT STATE。
  • TIME:已运行时间。

  • NODELIST(REASON):分配给的节点名列表(原因):

    • AssociationCpuLimit: 作业指定的关联CPU已在用,作业最终会运行。
    • AssociationMaxJobsLimit:作业关联的最大作业数已到,作业最终会运行。
    • AssociationNodeLimit:作业指定的关联节点已在用,作业最终会运行。
    • AssociationJobLimit:作业达到其最大允许的作业数限制。
    • AssociationResourceLimit:作业达到其最大允许的资源限制。
    • AssociationTimeLimit:作业达到时间限制。
    • BadConstraints:作业含有无法满足的约束。
    • BeginTime:作业最早开始时间尚未达到。
    • Cleaning:作业被重新排入队列,并且仍旧在执行之前运行的清理工作。
    • Dependency:作业等待一个依赖的作业结束后才能运行。
    • FrontEndDown:没有前端节点可用于执行此作业。
    • InactiveLimit:作业达到系统非激活限制。
    • InvalidAccount:作业用户无效,建议取消该作业重新采用正确账户提交。
    • InvalidQOS:作业QOS无效,建议取消该作业重新采用正确QoS提交。
    • JobHeldAdmin:作业被系统管理员挂起。
    • JobHeldUser:作业被用户自己挂起。
    • JobLaunchFailure:作业无法被启动,有可能因为文件系统故障、无效程序名等。
    • Licenses:作业等待相应的授权。
    • NodeDown:作业所需的节点宕机。
    • NonZeroExitCode:作业停止时退出代码非零。
    • PartitionDown:作业所需的队列出于DOWN状态。
    • PartitionInactive:作业所需的队列处于Inactive状态。
    • PartitionNodeLimit:作业所需的节点超过所用队列当前限制。
    • PartitionTimeLimit:作业所需的队列达到时间限制。
    • PartitionCpuLimit:该作业使用的队列对应的CPU已经被使用,作业最终会运行。
    • PartitionMaxJobsLimit:该作业使用的队列的最大作业数已到,作业最终会运行。
    • PartitionNodeLimit:该作业使用的队列对指定的节点都已在用,作业最终会运行。
    • Priority:作业所需的队列存在高等级作业或预留。
    • Prolog:作业的PrologSlurmctld前处理程序仍旧在运行。
    • QOSJobLimit:作业的QOS达到其最大作业数限制。
    • QOSResourceLimit:作业的QOS达到其最大资源限制。
    • QOSGrpCpuLimit: 作业的QoS的指定所有CPU已被占用,作业最终会运行。
    • QOSGrpMaxJobsLimit:作业的QoS的最大作业数已到,作业最终会运行。
    • QOSGrpNodeLimit:作业的QoS指定的节点都已经被占用,作业最终会运行。
    • QOSTimeLimit:作业的QOS达到其时间限制。
    • QOSUsageThreshold:所需的QOS阈值被违反。
    • ReqNodeNotAvail:作业所需的节点无效,如节点宕机。
    • Reservation:作业等待其预留的资源可用。
    • Resources:作业将要等待所需要的资源满足后才运行。
    • SystemFailure:Slurm系统失效,如文件系统、网络失效等。
    • TimeLimit:作业超过去时间限制。
    • QOSUsageThreshold:所需的QoS阈值被违反。
    • WaitingForScheduling:等待被调度中。