显示队列、节点信息:sinfo¶
sinfo可以查看系统存在什么队列、节点及其状态。如sinfo -l:
Fri Dec 06 09:17:43 2024
PARTITION AVAIL TIMELIMIT JOB_SIZE ROOT OVERSUBS GROUPS NODES STATE NODELIST
cpu up infinite 1-infinite no NO all 2 drained* cu[186,302]
cpu up infinite 1-infinite no NO all 10 mixed cu[001,017,021,045,055-056,096,153,249,301]
cpu up infinite 1-infinite no NO all 42 allocated cu[004-006,016,027-034,043-044,127-130,184-185,250-253,277-278,281-290,293-294,324-325,373-374]
cpu up infinite 1-infinite no NO all 335 idle cu[002-003,007-015,018-020,022-026,035-042,046-054,057-095,097-126,131-152,154-183,187-248,254-276,279-280,291-292,295-300,303-323,326-372,375-389]
gpu up infinite 1-infinite no NO all 6 mixed gpu[001-006]
fat* up infinite 1-infinite no NO all 1 allocated fat001
fat* up infinite 1-infinite no NO all 1 idle fat002
根据输出,可以看出不同分区的不同节点所处的状态。idle 表示空闲,allocated 表示被全部占用,mixed 表示部分占用,drained 或 draining 表示暂停或即将暂停接收作业,down 表示不可用。
例如从上方的输出可以看出:
- cpu 分区 (CPU 计算节点)
- cu[004-006,016,027-034,043-044,127-130,184-185,250-253,277-278,281-290,293-294,324-325,373-374] 等 42 个节点被全部占用
- cu[001,017,021,045,055-056,096,153,249,301] 等 10 个节点被部分占用
- cu[002-003,007-015,018-020,022-026,035-042,046-054,057-095,097-126,131-152,154-183,187-248,254-276,279-280,291-292,295-300,303-323,326-372,375-389] 等 335 个节点空闲,可以接收作业
- cu[186,302] 节点因为维护等原因临时关闭了作业提交
- gpu 分区 (GPU 计算节点)
- gpu[001-006] 节点被部分占用。注意由于 CPU / 内存资源可能未全部分配,即使 GPU 被全部占用也可能显示为 mix。
- fat 分区 (大内存计算节点)
- fat001 被完全占用
- fat002 空闲,可以接收作业
sinfo 主要输出项¶
根据 sinfo 指令的不同,用户可能看到如下这些字段的信息,其含义分点列出如下:
AVAIL:up表示可用,down表示不可用。CPUS:各节点上的CPU数。S:C:T:各节点上的CPU插口sockets(S)数(CPU颗数,一颗CPU含有多颗CPU核,以下类似)、CPU核cores(C)数和线程threads(T)数。SOCKETS:各节点CPU插口数,CPU颗数。CORES:各节点CPU核数。THREADS:各节点线程数。GROUPS:可使用的用户组,all表示所有组都可以用。JOB_SIZE:可供用户作业使用的最小和最大节点数,如果只有1个值,则表示最大和最小一样,infinite表示无限制。TIMELIMIT:作业运行墙上时间(walltime,指的是用计时器,如手表或挂钟,度量的实际时间)限制,infinite表示没限制,如有限制的话,其格式为“days-hours:minutes:seconds”。MEMORY:实际内存大小,单位为MB。NODELIST:节点名列表,格式类似node[1-10,11,13-28]。NODES:节点数。NODES(A/I):节点数,状态格式为“available/idle”。NODES(A/I/O/T):节点数,状态格式为“available/idle/other/total”。PARTITION:队列名。后面带有*的,表示此队列为默认队列。ROOT:是否限制资源只能分配给root账户。OVERSUBSCRIBE:是否允许作业分配的资源超过计算资源(如CPU数):no:不允许超额。exclusive:排他的,只能给这些作业用(等价于srun --exclusive)。force:资源总被超额。yes:资源可以被超额。STATE:节点状态,可能的状态包括:allocated、alloc:已分配。completing、comp:完成中。down:宕机。drained、drain:已失去活力。表示该节点暂时停止接收新作业。draining、drng:失去活力中。表示该节点即将暂时停止接收新作业,等待目前运行在该节点的任务完成。fail:失效。failing、failg:失效中。future、futr:将来可用。idle:空闲,可以接收新作业。maint:维护。mixed:混合,节点在运行作业,但有些空闲CPU核,可接受新作业。perfctrs、npc:因网络性能计数器使用中导致无法使用。power_down、pow_dn:已关机。power_up、pow_up:正在开机中。reserved、resv:预留。unknown、unk:未知原因。- 注意,如果状态带有后缀
*,表示节点没响应。 TMP_DISK:/tmp所在分区空间大小,单位为MB。
sinfo 主要参数¶
在使用 sinfo 命令时,可以设置如下选项以显示所需的输出:
-a、--all:显示全部队列信息,如显示隐藏队列或本组没有使用权的队列。-d、--dead:仅显示无响应或已宕机节点。-e、--exact:精确而不是分组显示显示各节点。--help:显示帮助。-i <seconds>、--iterate=<seconds>:以<seconds>秒间隔持续自动更新显示信息。-l、--long:显示详细信息。-n <nodes>、--nodes=<nodes>:显示\节点信息。 -N,--Node:以每行一个节点方式显示信息,即显示各节点信息。-p <partition>、--partition=<partition>:显示<partition>队列信息。-r、--responding:仅显示响应的节点信息。-R、--list-reasons:显示不响应(down、drained、fail或failing状态)节点的原因。-s:显示摘要信息。-S <sort_list>、--sort=<sort_list>:设定显示信息的排序方式。排序字段参见后面输出格式部分,多个排序字段采用,分隔,字段前面的+和-分表表示升序(默认)或降序。队列字段P前面如有#,表示以Slurm配置文件slurm.conf中的顺序显示。例如:sinfo -S +P,-m表示以队列名升序及内存大小降序排序。-t <states>、--states=<states>:仅显示<states>状态的信息。<states>状态可以为(不区分大小写):ALLOC、ALLOCATED、COMP、COMPLETING、DOWN、DRAIN、DRAINED、DRAINING、ERR、ERROR、FAIL、FUTURE、FUTR、IDLE、MAINT、MIX、MIXED、NO_RESPOND、NPC、PERFCTRS、POWER_DOWN、POWER_UP、RESV、RESERVED、UNK和UNKNOWN。-T,--reservation:仅显示预留资源信息。--usage:显示用法。-v、--verbose:显示冗余信息,即详细信息。-V:显示版本信息。-
-o <output_format>、--format=<output_format>:按照<output_format>格式输出信息,默认为“%#P %.5a %.10l %.6D %.6t %N”:%all:所有字段信息。%a:队列的状态及是否可用。%A:以“allocated/idle”格式显示状态对应的节点数。%b:激活的特性,参见%f。%B:队列中每个节点可分配给作业的CPU数。%c:各节点CPU数。%C:以“allocated/idle/other/total”格式状态显示CPU数。%d:各节点临时磁盘空间大小,单位为MB。%D:节点数。%e:节点空闲内存。%E:节点无效的原因(down、draine或ddraining状态)。%f:节点可用特性,参见%b。%F:以“allocated/idle/other/total”格式状态的节点数。%g:可以使用此节点的用户组。%G:与节点关联的通用资源(gres)。%h:作业是否能超用计算资源(如CPUs),显示结果可以为yes、no、exclusive或force。%H:节点不可用信息的时间戳。%I:队列作业权重因子。%l:以“days-hours:minutes:seconds”格式显示作业可最长运行时间。%L:以“days-hours:minutes:seconds”格式显示作业默认时间。%m:节点内存,单位MB。%M:抢占模式,可以为no或yes。%n:节点主机名。%N:节点名。%o:节点IP地址。%O:节点负载。%p:队列调度优先级。%P:队列名,带有*为默认队列,参见%R。%R:队列名,不在默认队列后附加*,参见%P。%s:节点最大作业大小。%S:允许分配的节点数。%t:以紧凑格式显示节点状态。%T:以扩展格式显示节点状态。%v:slurmd守护进程版本。%w:节点调度权重。%X:单节点socket数。%Y:单节点CPU核数。%Z:单核进程数。%z:扩展方式显示单节点处理器信息:sockets、cores、threads(S:C:T)数。
-
-O <output_format>, --Format=<output_format>:按照<output_format>格式输出信息,类似-o <output_format>、--format=\<output_format>。
每个字段的格式为 type[:[.]size] :
- size:最小字段大小,如没指明,则最大为20个字符。
- .:指明为右对齐,默认为左对齐。
- 可用type:
- all:所有字段信息。
- allocmem:节点上分配的内存总数,单位 MB。
- allocnodes:允许分配的节点。
- available:队列的 State/availability 状态。
- cpus:各节点 CPU 数。
- cpusload:节点负载。
- freemem:节点可用内存,单位 MB。
- cpusstate:以 allocated/idle/other/total 格式状态的CPU数。
- cores:单颗 CPU 的 CPU 核数。
- disk:各节点临时磁盘空间大小,单位为MB。
- features:节点可用特性。
- features_act:节点激活的特性,参见 features。
- groups:可以使用此节点的用户组。
- gres:与节点关联的通用资源(gres)。
- maxcpuspernode:队列中各节点最大可用CPU数。
- memory:节点内存,单位MB。
- nodeai:以“allocated/idle”格式显示状态对应的节点数。
- nodes:节点数。
- nodeaiot:以“allocated/idle/other/total”格式状态的节点数。
- nodehost:节点主机名。
- nodelist:节点名,格式类似 node[1-10,11,13-28]。
- oversubscribe:作业是否能超用计算资源(如CPUs),显示结果可以为 yes、no、exclusive 或 force。
- partition:队列名,带有 * 为默认队列,参见 %R。
- partitionname:队列名,默认队列不附加 * ,参见 %P。
- preemptmode:抢占模式,可以为 no 或 yes。
- priorityjobfactor:队列作业权重因子。
- prioritytier 或 priority:队列调度优先级。
- reason:节点无效的原因(down、drained 或 draining 状态)。
- size:节点最大作业数。
- statecompact:紧凑格式节点状态。
- statelong:扩展格式节点状态。
- sockets:各节点CPU颗数。
- socketcorethread:扩展方式显示单节点处理器信息:sockets、cores、threads(S:C:T)数。
- time:以 days-hours:minutes:seconds 格式显示作业可最长运行时间。
- timestamp:节点不可用信息的时间戳。
- threads:CPU核线程数。
- weight:节点调度权重。
- version:slurmd守护进程版本。