跳转至

显示队列、节点信息: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 表示部分占用,draineddraining 表示暂停或即将暂停接收作业,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:节点状态,可能的状态包括:
  • allocatedalloc:已分配。
  • completingcomp:完成中。
  • down:宕机。
  • draineddrain:已失去活力。表示该节点暂时停止接收新作业。
  • drainingdrng:失去活力中。表示该节点即将暂时停止接收新作业,等待目前运行在该节点的任务完成。
  • fail:失效。
  • failingfailg:失效中。
  • futurefutr:将来可用。
  • idle:空闲,可以接收新作业。
  • maint:维护。
  • mixed:混合,节点在运行作业,但有些空闲CPU核,可接受新作业。
  • perfctrsnpc:因网络性能计数器使用中导致无法使用。
  • power_downpow_dn:已关机。
  • power_uppow_up:正在开机中。
  • reservedresv:预留。
  • unknownunk:未知原因。
  • 注意,如果状态带有后缀 *,表示节点没响应。
  • 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),显示结果可以为 yesnoexclusiveforce。 - partition:队列名,带有 * 为默认队列,参见 %R。 - partitionname:队列名,默认队列不附加 * ,参见 %P。 - preemptmode:抢占模式,可以为 noyes。 - priorityjobfactor:队列作业权重因子。 - prioritytierpriority:队列调度优先级。 - reason:节点无效的原因(downdraineddraining 状态)。 - size:节点最大作业数。 - statecompact:紧凑格式节点状态。 - statelong:扩展格式节点状态。 - sockets:各节点CPU颗数。 - socketcorethread:扩展方式显示单节点处理器信息:socketscoresthreadsS:C:T)数。 - time:以 days-hours:minutes:seconds 格式显示作业可最长运行时间。 - timestamp:节点不可用信息的时间戳。 - threads:CPU核线程数。 - weight:节点调度权重。 - version:slurmd守护进程版本。