跳到主要内容

管理计算作业和资源

squeue 查看正在排队或运行中的作业

通过squeue命令可以获取当前作业运行状态,如squeue输出中没有想查看的作业信息,说明作业已退出。

输出结果中,ST列为作业状态,状态解释:

  • R:运行中
  • PD: 排队中
  • CG:表示正在完成退出
  • S :挂起

常用的squeue命令和参数组合示例如下:

功能命令示例
显示队列中所有作业状态squeue
查看作业号为11的作业信息squeue -j 11
查看用户user1的作业信息squeue -u user1
查看提交到 p1-c1-4 队列的作业信息squeue -p p1-c1-4
查看使用到 p1-c1-4 节点的作业信息squeue -w p1-c1-4-1
查看状态为Pending的作业信息squeue --state=PENDING
查看某作业的详细信息,自定义输出内容squeue -j 210944 -o "%.18i %.9P %.8j %.8u %.2t %20V %.10M %.6D %R %Z"
查看某分区的详细信息,自定义输出内容squeue-p 分区名 -o "%.18i %.9P %.8j %.8u %.2t %20V %.10M %.6D %R %Z"

其他选项可通过 squeue --help 命令查看。

sinfo 查看分区信息

sinfo命令的主要功能是查看分区以及节点的状态信息,常用的命令和参数组合示例如下:

功能命令示例
显示集群所有分区的状态sinfo -Nl
显示指定分区的使用情况sinfo -p dev
显示指定分区的使用详情sinfo -p dev -N -o "%20N %15C %.5a %.6t"

sinfo输出中节点状态解释如下:

  • alloc:节点已被占用
  • drain:已失去活力的节点,此状态下不会被分配新作业
  • idle:空闲节点
  • mix:已被占用部分资源的节点
  • comp:正在释放资源的节点,其他状态的节点都不可用

使用示例

[root@login1 ~]# sinfo -N -o "%20N %15C %.5a %.6t"
NODELIST CPUS(A/I/O/T) AVAIL STATE
dev-compute-01 0/4/0/4 up idle
dev-compute-02 0/4/0/4 up idle
dev-compute-03 0/4/0/4 up idle

第二列 CPUS(A/I/O/T) 中,A=作业使用的CPU数,I=空闲CPU数,T=节点总CPU数

sinfo的一些常用参数

--help    # 显示sinfo命令的使用帮助信息;
-d # 查看集群中没有响应的节点;
-i <seconds> # 每隔相应的秒数,对输出的分区节点信息进行刷新
-n <name_list> # 显示指定节点的信息,如果指定多个节点的话用逗号隔开;
-N # 按每个节点一行的格式来显示信息;
-p # <partition> 显示指定分区的信息,如果指定多个分区的话用逗号隔开;
-r # 只显示响应的节点;
-R # 显示节点不正常工作的原因;

按照指定格式输出;

-o #<output_format>    显示指定的输出信息,指定的方式为%[[.]size]type,“.”表示右对齐,不加的话表示左对齐;size表示输出项的显示长度;type为需要显示的信息。可以指定显示的常见信息如下:
%a 是否可用状态
%A 以"allocated/idle"的格式来显示节点数,不要和"%t" or "%T"一起使用
%c 节点的核心数
%C “allocated/idle/other/total”格式显示核心总数
%D 节点总数
%E 节点不可用的原因
%m 每个节点的内存大小(单位为M)
%N 节点名
%O CPU负载
%P 分区名,作业默认分区带“*”
%r 只有root可以提交作业(yes/no)
%R 分区名
%t 节点状态(紧凑形式)
%T 节点的状态(扩展形式)

scancel 取消运行或提交的作业查看作业状态

scancel命令可取消队列中正在运行或者排队中的作业。

常用命令和参数示例:

功能命令示例
取消作业号为11的作业scancel 11
取消作业名为test-001的作业scancel -n test-001
取消提交到p1-c1-2队列的作业scancel -p p1-c1-2
取消正在排队的作业scancel -t PENDING
取消运行在p1-c1-2-1节点上的作业scancel -w p1-c1-2-1

其他参数选项,可通过 scancel --help查看。

scancel常见参数;

--help                # 显示scancel命令的使用帮助信息;
-A <account> # 取消指定账户的作业,如果没有指定job_id,将取消所有;
-n <job_name> # 取消指定作业名的作业;
-p <partition_name> # 取消指定分区的作业;
-q <qos> # 取消指定qos的作业;
-t <job_state_name> # 取消指定作态的作业,"PENDING", "RUNNING" 或 "SUSPENDED";
-u <user_name> # 取消指定用户下的作业;

sacct 查看历史作业信息

sacct命令可以查看历史作业的起止时间、结束状态、作业号、作业名、使用的节点数、节点列表、运行时间等。

示例

查看某一作业的运行信息:

sacct -j 29

输出内容包括:作业ID,作业名,分区,计费账户,申请的CPU数量,状态,结束代码

[root@head ~]# sacct -j 9
JobID JobName Partition Account AllocCPUS State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
9 sleep partition+ _fsched_a+ 1 COMPLETED 0:0
9.extern extern _fsched_a+ 1 COMPLETED 0:0
9.0 sleep _fsched_a+ 1 COMPLETED 0:0

可增加输出参数,查看作业的详细信息,例如:

[root@head ~]# sacct -j 9 -X -o jobid,jobname%50,user,group,partition,submit,start,end,state,alloccpus,reqmem,elapsed,exitcode,workdir%300
JobID JobName User Group Partition Submit Start End State AllocCPUS ReqMem Elapsed ExitCode WorkDir
------------ -------------------------------------------------- --------- --------- ---------- ------------------- ------------------- ------------------- ---------- ---------- ---------- ---------- -------- -----------------------------------------------------
9 sleep cyan cyan partition+ 2024-09-03T00:25:02 2024-09-03T00:25:02 2024-09-03T00:26:02 COMPLETED 1 1Mn 00:01:00 0:0 /fastone/users/cyan

查看自某时间开始的作业历史及运行信息


[root@head ~]# sacct -X -T -S2024-08-10-11:00:00 -o jobid,jobname,user,partition,submit,start,end,state,alloccpus,reqmem,elapsed,exitcode,workdir
JobID JobName User Partition Submit Start End State AllocCPUS ReqMem Elapsed ExitCode WorkDir
------------ ---------- --------- ---------- ------------------- ------------------- ------------------- ---------- ---------- ---------- ---------- -------- --------------------
2 hostname shaobing+ partition+ 2024-07-31T23:13:41 2024-07-31T23:13:41 2024-07-31T23:13:42 COMPLETED 1 1Mn 00:00:01 0:0 /fastone/users/shao+
3 big_task1 cadservi+ partition+ 2024-08-01T06:47:18 2024-08-01T06:47:19 2024-08-01T06:49:29 CANCELLED+ 6 1Mn 00:02:10 0:0 /fastone/users/cads+
4 big_task1 cadservi+ partition+ 2024-08-01T06:53:05 2024-08-01T06:53:05 2024-08-01T06:53:45 CANCELLED+ 6 1Mn 00:00:40 0:0 /fastone/users/cads+
5 big_task1 cadservi+ partition+ 2024-08-01T22:04:58 2024-08-01T22:04:59 2024-08-01T22:06:09 CANCELLED+ 6 1Mn 00:01:10 0:0 /fastone/users/cads+
6 big_task1 cadservi+ partition+ 2024-08-01T22:08:04 2024-08-01T22:08:05 2024-08-01T22:08:19 CANCELLED+ 2 1Mn 00:00:14 0:0 /fastone/users/cads+
7 big_task1 cadservi+ partition+ 2024-08-01T22:11:50 2024-08-01T22:11:51 2024-08-01T22:11:51 FAILED 2 1Mn 00:00:00 127:0 /fastone/users/cads+
8 Fano-slot shaobing+ partition+ 2024-08-01T22:50:31 2024-08-01T22:50:32 2024-08-01T22:57:46 FAILED 4 1Mn 00:07:14 127:0 /fastone/users/shao+
9 sleep cyan partition+ 2024-09-03T00:25:02 2024-09-03T00:25:02 2024-09-03T00:26:02 COMPLETED 1 1Mn 00:01:00 0:0 /fastone/users/cyan

更多输出字段信息可通过sacct -help查询

# sacct显示结果中-o的详细信息可以有以下内容可输出展示:

--format=jobid,jobname,partition,maxvmsize,maxvmsizenode,
maxvmsizetask,avevmsize,maxrss,maxrssnode,
maxrsstask,averss,maxpages,maxpagesnode,
maxpagestask,avepages,mincpu,mincpunode,
mincputask,avecpu,ntasks,alloccpus,elapsed,
state,exitcode,avecpufreq,reqcpufreqmin,
reqcpufreqmax,reqcpufreqgov,consumedenergy,
maxdiskread,maxdiskreadnode,maxdiskreadtask,
avediskread,maxdiskwrite,maxdiskwritenode,
maxdiskwritetask,avediskread,allocgres,reqgres

# 显示结果如果被截断未显示全信息,可在format参数后面增加"%字符长度"来显示更多信息,比如"workdir%300"

scontrol 查看 Fsched 配置和状态

scontrol用于查看或修改 Fsched 配置,包括作业、作业步骤、节点、分区、预留和整体系统配置。普通用户可以使用 scontrol 查询并展示 Fsched 的许多状态信息,而大多数修改类型的命令只能由root用户或管理员执行。

普通用户常用命令和参数示例:

功能命令示例
查看作业id为9的作业详情scontrol show job 9
查看所有运行中、排队中、刚完成的作业详情scontrol show job
查看节点compute03详情scontrol show node compute03
查看所有节点详情scontrol show node
查看所有分区详情scontrol show partition
查看 Fsched 配置信息scontrol show config

其他参数选项,可通过 scontrol --help查看。