PDF文库 - 千万精品文档,你想要的都能搜到,下载即用。

Slurm作业管理系统使用.pdf

定格我的天空169 页 784.424 KB下载文档
Slurm作业管理系统使用.pdfSlurm作业管理系统使用.pdfSlurm作业管理系统使用.pdfSlurm作业管理系统使用.pdfSlurm作业管理系统使用.pdfSlurm作业管理系统使用.pdf
当前文档共169页 2.88
下载后继续阅读

Slurm作业管理系统使用.pdf

Slurm作业管理系统使用 李会民 hmli@ustc.edu.cn 中国科学技术大学 超级计算中心 2023-05-30 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 1 / 169 过来人提示 学会基本Linux用法,别只会用鼠标键盘,学会命令脚本后会发现更加省事: 降低重复性处理 自动监控提交作业,抢占资源 学会问问题:提问的智慧:https://lug.ustc.edu.cn/wiki/doc/smart-questions/ 别只会问问题,要勇于自己解决:看手册、搜索、尝试 学会看手册 尽信书则不如无书,有疑问,建议看官方原始资料,即使原始资料也有可能有问题 培训,主要是有个概念,枯燥乏味,不试试不用很快就忘了 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 2 / 169 查看命令手册:man man 可以格式化并显示某命令的联机帮助手册,输出的手册页主要包括以下几个部分: NAME:命令的名称和用法 SYNOPSIS:显示命令的语法格式,列出其所有可用的选用的选项及参数 [ ]内的可选,即可以没有 不在[ ]内的为必选 |:或,选项互斥 如:who [OPTION] ... [ FILE | ARG1 ARG2 ] DESCRIPTION:描述命令的详细用法及每个选项的功能 OPTION:对命令的每一个选项进行详细的说明 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 3 / 169 man主要选项 [section]:显示某[section]内的该命令帮助,[section]是man的分类,一般为: 1:命令 1P:Posix命令 2:系统调用 3:库函数 3P:Posix程序 4:特殊文件 5:文件格式与约定 6:游戏 7:约定与杂项 8:系统管理命令 9:内核进程 -a:显示所有[section]内的帮助 -L:以某种语言显示帮助,如:man -L zh_CN.UTF-8 man 环境变量MANPATH设置man的搜索路径,如:man printf和man 3 printf 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 4 / 169 阅读info帮助:info/pinfo info 和 pinfo 用于阅读info文档,此种文档相比 man 文档更友好,pinfo 比 info 操作更方便, 支持颜色加亮等,一般格式为: info [OPTION]... [MENU-ITEM...] pinfo [options] [infopage] 将光标移到链接处(pinfo支持彩色链接,info看不出来) ,按回车进入子章节,按小键盘的 左右箭头可以来回跳转 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 5 / 169 显示命令简要说明:–help | -h等 许多命令支持运行时添加如下选项查看简要帮助: -h -help(注意:这里是一个-,显示为-) –help(注意:这里是两-,显示为–) -H -? 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 6 / 169 提问的智慧 提问前请先看《提问的智慧》:https://lug.ustc.edu.cn/wiki/doc/smart-questions 请先查看超算中心主页http://scc.ustc.edu.cn:用户申请、系统介绍、运行监控、资料 手册、常见问题、VPN等常用信息 请注意系统登录后的提示 提问时务必准确,提供相应信息,如账号、系统、作业号、作业目录、具体现象等,要 有礼貌 错误:为啥我的作业运行不了? 正确:您好,我在X系统上的Y作业号的作业,目录是XXX,运行时报XXX错误,我自己 尝试解决不了,请问能指点下么? 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 7 / 169 Slurm作业管理系统简介 Slurm(Simple Linux Utility for Resource Management)是开源的、具有容错性和高度可扩 展大型和小型Linux集群资源管理和作业调度系统 超算系统可利用Slurm进行资源和作业管理,可设定作业间相互依赖关系,并可避免相 互干扰,提高运行效率 所有需运行的作业无论是用于程序调试还是业务计算均必须通过交互式并行srun、批处理 式sbatch或分配式salloc等命令提交 提交后可以利用相关命令查询作业状态等 请不要在登录节点直接运行作业(编译除外),以免影响其余用户的正常使用 主页:http://slurm.schedmd.com/ 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 8 / 169 三种模式区别 批处理作业(采用sbatch命令提交) : 使用sbatch命令提交作业脚本,作业被调度运行后,在所分配的首个节点上执行作业脚 本,在作业脚本中也可使用srun命令加载作业任务 交互式作业提交(采用srun命令提交): 资源分配与任务加载两步均通过srun命令进行:当在登录shell中执行srun命令时, srun首先向系统提交作业请求并等待资源分配,然后在所分配的节点上加载作业任务 分配模式作业(采用salloc命令提交): 类似于交互式作业模式(不释放当前shell)和批处理作业模式的融合。用户需指定资 源分配的需求条件,向资源管理器提出作业的资源分配请求。作业排队,当用户请求 资源被满足时,将在用户提交作业的节点上执行用户所指定的命令,指定的命令执行 结束后,用户申请的资源被释放,才释放。 salloc后面如果没有跟定相应的脚本或可执行文件,则默认选择/bin/sh,用户获得了一 个合适环境变量的shell环境 salloc和sbatch最主要的区别: salloc:当资源请求被满足时,直接在提交作业的节点执行相应任务,适合需要指定运行 节点和其它资源限制,并有特定命令的作业 sbatch:当资源请求被满足时,在分配的第一个节点上执行相应任务 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 9 / 169 基本用户命令 sacct:显示激活的或已完成作业或作业步的记账信息 salloc:为需实时处理的作业分配资源,典型场景为分配资源并启动一个shell,然后用 此shell执行srun命令去执行并行任务 sattach:吸附到运行中的作业步的标准输入、输出及出错,通过吸附,使得有能力监控 运行中的作业步的IO等 sbatch:提交作业脚本使其运行。此脚本一般会含有一个或多个srun命令启动并行任务 sbcast:将本地存储中的文件传递分配给作业的节点上 scancel:取消排队或运行中的作业或作业步,还可用于发送任意信号到运行中的作业 或作业步中的所有进程 scontrol:显示或设定Slurm作业、队列、节点等状态 sinfo:显示队列或节点状态,具有非常多过滤、排序和格式化等选项 squeue:显示队列中的作业及作业步状态,含非常多过滤、排序和格式化等选项 srun:运行并行作业。具有非常多过滤、排序和格式化等选项,包含最小和最大节点 数、处理器数、是否指定使用或排除的节点、节点特征(内存、磁盘空间、特定需求 特征等)。一个作业可含有多个作业步,可以是串行的、独立或共享资源并行的 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 10 / 169 基本术语 socket:CPU插槽,可以简单理解为CPU core:CPU核,单颗CPU可以具有多颗CPU核 job:作业 job step:作业步,单个作业(job)可以有多个作业步 tasks:任务数,单个作业或作业步可有多个任务,一般一个任务需一个CPU核,可理解 为所需的CPU核数 rank:秩,如MPI进程号 partition:队列、分区。作业需在特定队列中运行,一般不同队列允许的资源不一样, 比如单作业核数等 stdin:标准输入文件,一般指可以通过屏幕输入或采用<文件名方式传递给程序的文 件,对应C程序中的文件描述符0 stdout:标准输出文件,程序运行正常时输出信息到的文件,一般指输出到屏幕的,并 可采用>文件名定向到特定文件,对应C程序中的文件描述符1 stderr:标准出错文件,程序运行出错时输出信息到的文件,一般指也输出到屏幕,并 可采用2>文件名定向到特定文件(注意这里的2),对应C程序中的文件描述符2 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 11 / 169 显示队列、节点信息:sinfo sinfo可以查看系统存在什么队列、节点及其状态。如sinfo -l: PARTITION AVAIL CPU- L a r g e * up GPU- V100 up 2TB - AEP -Mem up ARM-CPU up ARM-CPU up ARM-CPU up TIMELIMIT JOB_SIZE ROOT OVERSUBS infinite 1- infinite no NO infinite 1- infinite no NO infinite 1- infinite no NO infinite 1- infinite no NO infinite 1- infinite no NO infinite 1- infinite no NO GROUPS all all all all all all NODES 720 10 8 2 2 5 STATE NODELIST i d l e cnode [001 - 720] i d l e gnode [ 0 1 - 1 0 ] mixed a n o d e [ 0 1 - 0 8 ] down* r n o d e [ 0 1 , 0 9 ] a l l o c a t e d rnode [02 - 03] i d l e rnode [04 - 08] 注:系统队列根据需要会调整,请根据上述命令确定可用队列。 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 12 / 169 sinfo主要输出项 I 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 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 13 / 169 sinfo主要输出项 II NODELIST:节点名列表 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:资源可以被超额 TMP_DISK:/tmp所在分区空间大小,单位为MB STATE:节点状态,可能的状态包括: 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 14 / 169 sinfo主要输出项 III allocated、alloc:已分配,作业结束前不能分配给其他作业 completing、comp:作业完成中,即将释放资源 down:宕机,不可用 drained、drain:已失去活力 draining、drng:失去活力中 fail:失效 failing、failg:失效中 future、futr:将来可用 idle:空闲,可以接收新作业 maint:保持,处于预留状态,具有标识符“maintenance” mixed:混合,节点在运行作业,但有些空闲CPU核,可接受新作业 perfctrs、npc:因网络性能计数器使用中导致无法使用 power_down、pow_dn:已关机 power_up、pow_up:正在开机中 reserved、resv:预留 unknown、unk:未知原因 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 15 / 169 sinfo主要输出项 IV 注意,以上状态该可以带有后缀: *:节点没响应,将不接受新作业。如仍旧处于没响应,将会变为DOWN状态 (COMPLETING、DRAINED、DRAINING、FAIL、FAILING节点除外) :节点目前关机 #:节点目前将开机或被配置 !:节点将关机 %:节点目前正在关机 $:节点处于预留状态,具有标识符“maintenance” @:节点重启中 ^:节点重启指令已发出 -:节点计划用于更高级别的作业 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 16 / 169 sinfo主要参数 I -a、–all:显示全部队列信息,如显示隐藏队列或本组没有使用权的队列 -d、–dead:仅显示无响应或已宕机节点 -e、–exact:精确而不是分组显示显示各节点 –help:显示帮助 -i 、–iterate=:以秒间隔持续自动更新显示信息 -l、–long:显示详细信息 -n 、–nodes=:显示节点信息 -N, –Node:以每行一个节点方式显示信息,即显示各节点信息 -p 、–partition=:显示队列信息 -r、–responding:仅显示响应的节点信息 -R、–list-reasons:显示不响应(down、drained、fail或failing状态)节点的原因 -s:显示摘要信息 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 17 / 169 sinfo主要参数 II -S 、–sort=:设定显示信息的排序方式。排序字段参见后面输出格 式部分,多个排序字段采用,分隔,字段前面的+和-分表表示升序(默认)或降序。队 列字段P前面如有#,表示以Slurm配置文件slurm.conf中的顺序显示。例如: sinfo -S +P,-m表示以队列名升序及内存大小降序排序 -t 、–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:显示版本信息 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 18 / 169 sinfo主要参数 III -o 、–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:节点空闲内存,单位为MB %E:节点无效的原因(down、draine或ddraining状态) %f:节点可用特性,参见%b %F:以“allocated/idle/other/total”格式状态的节点数 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 19 / 169 sinfo主要参数 IV %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 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 20 / 169 sinfo主要参数 V %s:节点最大作业大小 %S:允许分配的节点数 %t:以紧凑格式显示节点状态 %T:以扩展格式显示节点状态 %v:slurmd守护进程版本 %w:节点调度权重 %X:单节点socket数 %Y:单节点CPU核数 %Z:单核进程数 %z:扩展方式显示单节点处理器信息:sockets、cores、threads(S:C:T)数 -O , –Format=:按照格式输出信息,类 似-o 、–format= 每个字段的格式为“type[:[.]size]”: size:最小字段大小,如没指明,则最大为20个字符 .:指明为右对齐,默认为左对齐 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 21 / 169 sinfo主要参数 VI 可用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_act:激活的特性,参见features groups:可以使用此节点的用户组 gres:与节点关联的通用资源(gres) maxcpuspernode:队列中各节点最大可用CPU数 memory:节点内存,单位MB 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 22 / 169 sinfo主要参数 VII nodeai:以“allocated/idle”格式显示状态对应的节点数 nodes:节点数 nodeaiot:以“allocated/idle/other/total”格式状态的节点数 nodehost:节点主机名 nodelist:节点名 oversubscribe:作业是否能超用计算资源(如CPUs) ,显示结果可以为yes、no、exclusive或force partition:队列名,带有*为默认队列,参见%R partitionname:队列名,默认队列不附加*,参见%P preemptmode:抢占模式,可以为no或yes priorityjobfactor:队列作业权重因子 prioritytier或priority:队列调度优先级 reason:节点无效的原因(down、draine或ddraining状态) size:节点最大作业数 statecompact:紧凑格式节点状态 statelong:扩展格式节点状态 sockets:各节点CPU颗数 socketcorethread:扩展方式显示单节点处理器信息:sockets、cores、threads(S:C:T)数 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 23 / 169 sinfo主要参数 VIII time:以“days-hours:minutes:seconds”格式显示作业可最长运行时间 timestamp:节点不可用信息的时间戳 threads:CPU核线程数 weight:节点调度权重 version:slurmd守护进程版本 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 24 / 169 查看节点负载:sload 监测节点负载命令sload(类似LSF的lsload),基本用法sload [nodelist]。 注:该sload命令是本人写的,不是slurm官方命令,在其它系统上不一定有,可以自己添加  #!/bin/sh if [ $# −lt 1 ]; then −−−→N=’’ else −−−→N=”-n $1” fi HEADER=”HOSTNAMES CPUS CPU_LOAD FREE_MEM(GB)\tSTATE\t\tREASON\tTIMESTAMP” echo -e $HEADER sinfo -h -o ”%n %c %O %e %T %E %H” $N | sort | awk ’{printf(”%8s %4i %7.1f %9.1f %12s %15s %15s\n”,$1,$2,$3,$4/1000.0,$5,$6,$7)}’ echo -e $HEADER if [ $# −lt 1 ]; then −−−→echo ”Usage: sload [nodelist]” fi   注: →:表示tab缩进 :表示空格 下载:http://hmli.ustc.edu.cn/doc/training/slurm/sload 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 25 / 169 查看队列中的作业信息:squeue 显示队列中的作业信息。如squeue显示: JOBID PARTITION NAME 75 ARM-CPU arm_job 76 GPU- V100 gpu . s l u r m 李会民 (中国科大超算中心) USER ST hmli R h m l i PD Slurm作业管理系统使用 TIME 2:27 0:00 NODES NODELIST (REASON) 2 rnode [02 - 03] 5 ( Resources ) 2023-05-30 26 / 169 squeue主要输出项 I 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 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 27 / 169 squeue主要输出项 II TIME:已运行时间 NODELIST(REASON):分配给的节点名列表(原因): AssociationJobLimit:作业达到其最大允许的作业数限制 AssociationResourceLimit:作业达到其最大允许的资源限制 AssociationTimeLimit:作业达到时间限制 BadConstraints:作业含有无法满足的约束 BeginTime:作业最早开始时间尚未达到 Cleaning:作业被重新排入队列,并且仍旧在执行之前运行的清理工作 Dependency:作业等待一个依赖的作业结束 FrontEndDown:没有前端节点可用于执行此作业 InactiveLimit:作业达到系统非激活限制 InvalidAccount:作业用户无效 InvalidQOS:作业QOS无效 JobHeldAdmin:作业被系统管理员挂起 JobHeldUser:作业被用户自己挂起 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 28 / 169 squeue主要输出项 III JobLaunchFailure:作业无法被启动,有可能因为文件系统故障、无效程序名等 Licenses:作业等待相应的授权 NodeDown:作业所需的节点宕机 NonZeroExitCode:作业停止时退出代码非零 PartitionDown:作业所需的队列出于DOWN状态 PartitionInactive:作业所需的队列处于Inactive状态 PartitionNodeLimit:作业所需的节点超过所用队列当前限制 PartitionTimeLimit:作业所需的队列达到时间限制 Priority:作业所需的队列存在高等级作业或预留 Prolog:作业的PrologSlurmctld前处理程序仍旧在运行 QOSJobLimit:作业的QOS达到其最大作业数限制 QOSResourceLimit:作业的QOS达到其最大资源限制 QOSTimeLimit:作业的QOS达到其时间限制 ReqNodeNotAvail:作业所需的节点无效,如节点宕机 Reservation:作业等待其预留的资源可用 Resources:作业等待其所需的资源可用 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 29 / 169 squeue主要输出项 IV SystemFailure:Slurm系统失效,如文件系统、网络失效等 TimeLimit:作业超过去时间限制 QOSUsageThreshold:所需的QOS阈值被违反 WaitingForScheduling:等待被调度中 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 30 / 169 squeue主要参数 I -A , –account=:显示用户的作业信息,用户 以,分隔 -a, –all:显示所有队列中的作业及作业步信息(含被配置为对用户组隐藏队列的信息) -r, –array:以每行一个作业元素方式显示) -h, –noheader:不显示头信息,即不显示第一行“PARTITION AVAIL TIMELIMIT NODES STATE NODELIST” –help:显示帮助信息 –hide:不显示隐藏队列中的作业和作业步信息。此为默认行为,不显示配置为对用户 组隐藏队列的信息 -i , –iterate=:以间隔秒方式循环显示信息 -j , –jobs=:显示作业号的作业,作业号以,分隔。 –jobs=可与–steps选项结合显示特定作业的步信息。作业号格式为 “job_id[_array_id]”,默认64字节,可用环境变量SLURM_BITSTR_LEN设定更大字段 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 31 / 169 squeue主要参数 II -l, –long:显示更多的作业信息 -L, –licenses=:指定使用授权文件,以,分隔 -n, –name=:显示具有特定名字的作业,以,分隔 –noconvert:不对原始单位做转换,如2048M不转换为2G -p , –partition=:显示特定队列信息,以,分隔 -P, –priority:对于提交到多个队列的作业,按照各队列显示其信息。如果作业要按照优 先级排序时,需考虑队列和作业优先级 -q , –qos=:显示特定qos的作业和作业步,以,分隔 -R, –reservation=reservation_name:显示特定预留信息作业 -s, –steps:显示特定作业步。作业步格式为“job_id[_array_id].step_id” -S , –sort=:按照显示特定字段排序显示,以,分隔。如-S P,U 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 32 / 169 squeue主要参数 III –start:显示排队中的作业的预期执行时间 -t , –states=:显示特定状态的作业信息。以,分隔,可为:PENDING(PD)、RUNNING(R)、SUSPENDED(S)、 STOPPED(ST)、COMPLETING(CG)、COMPLETED(CD)、CONFIGURING(CF)、 CANCELLED(CA)、FAILED(F)、TIMEOUT(TO)、PREEMPTED(PR)、 BOOT_FAIL(BF)、NODE_FAIL(NF)和 SPECIAL_EXIT(SE),注意是不区分大小写的,如“pd”和“PD”是等效的 -u , –user=:显示特定用户的作业信息,以,分 隔 –usage:显示帮助信息 -v, –verbose:显示squeue命令详细动作信息 -V, –version:显示版本信息 -w , –nodelist=:显示特定节点信息,以,分隔 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 33 / 169 squeue主要参数 IV -o , –format=:以特定格式显示信息。 参见 -O , –Format=,采用不同参数的默认格式为: default:“%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R” -l, –long:“%.18i %.9P %.8j %.8u %.8T %.10M %.9l %.6D %R” -s, –steps:“%.15i %.8j %.9P %.8u %.9M %N” 每个字段的格式为“%[[.]size]type”: size:字段最小尺寸,如果没有指定size,则按照所需长度显示 .:右对齐显示,默认为左对齐 type:类型,一些类型仅对作业有效,而有些仅对作业步有效,可为: %all:显示所有字段 %a:显示记帐信息(仅对作业有效) %A:作业步生成的任务数(仅适用于作业步) %A:作业号(仅适用于作业) %b:作业或作业步所需的通用资源(gres) %B:执行作业的节点 %c:作业每个节点所需的最小CPU数(仅适用于作业) 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 34 / 169 squeue主要参数 V %C:如果作业还在运行,显示作业所需的CPU数;如果作业正在完成,显示当前分配给此作 业的CPU数(仅适用于作业) %d:作业所需的最小临时磁盘空间,单位MB(仅适用于作业) %D:作业所需的节点(仅适用于作业) %e:作业结束或预期结束时间(基于其时间限制)(仅适用于作业) %E:作业依赖剩余情况。作业只有依赖的作业完成才运行,如显示NULL,则无依赖(仅适用 于作业) %f:作业所需的特性(仅适用于作业) %F:作业组作业号(仅适用于作业) %g:作业用户组(仅适用于作业) %G:作业用户组ID(仅适用于作业) %h:分配给此作业的计算资源能否被其它作业预约(仅适用于作业) 。可被预约的资源包含节 点、CPU颗、CPU核或超线程。值可以为: %H:作业所需的单节点CPU数,显示srun –sockets-per-node提交选项,如–sockets-per-node未设 定,则显示*(仅适用于作业) %i:作业或作业步号,在作业组中,作业号格式为“_”,默认作业组索引 字段限制到64字节,可以用环境变量SLURM_BITSTR_LEN设定为更大的字段大小 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 35 / 169 squeue主要参数 VI %I:作业所需的每颗CPU的CPU核数,显示的是srun –cores-per-socket设定的值, 如–cores-per-socket未设定,则显示*(仅适用于作业) %j:作业或作业步名 %J:作业所需的每个CPU核的线程数,显示的是srun –threads-per-core设定的值, 如–threads-per-core未被设置则显示*(仅适用于作业) %k:作业说明(仅适用于作业) %K:作业组索引默认作业组索引字段限制到64字节,可以用环境变量SLURM_BITSTR_LEN设 定为更大的字段大小(仅适用于作业) %l:作业或作业步时间限制,格式为“days-hours:minutes:seconds”:NOT_SET表示没有建立; UNLIMITED表示没有限制 %L:作业剩余时间,格式为“days-hours:minutes:seconds”,此值由作业的时间限制减去已用时 间得到:NOT_SET表示没有建立;UNLIMITED表示没有限制(仅适用于作业) %m:作业所需的最小内存,单位为MB(仅适用于作业) %M:作业或作业步已经使用的时间,格式为“days-hours:minutes:seconds” %n:作业所需的节点名(仅适用于作业) %N:作业或作业步分配的节点名,对于正在完成的作业,仅显示尚未释放资源回归服务的节 点 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 36 / 169 squeue主要参数 VII %o:执行的命令 %O:作业是否需连续节点(仅适用于作业) %p:作业的优先级(0.0到1.0之间),参见%Q(仅适用于作业) %P:作业或作业步的队列 %q:作业关联服务的品质(仅适用于作业) %Q:作业优先级(通常为非常大的一个无符号整数) ,参见%p(仅适用于作业) %r:作业在当前状态的原因,参见JOB REASON CODES(仅适用于作业) %R:参见JOB REASON CODES(仅适用于作业): %S:作业或作业步实际或预期的开始时间 %t:作业状态,以紧凑格式显示:PD(排队pending) 、R(运行running) 、CA(取消cancelled) 、 CF(配置中configuring) 、CG(完成中completing)、CD(已完成completed)、F(失败failed)、 TO(超时timeout) 、NF(节点失效node failure)和SE(特殊退出状态special exit state) ,参见JOB STATE CODES(仅适用于作业) %T:作业状态,以扩展格式显示:PENDING、RUNNING、SUSPENDED、CANCELLED、 COMPLETING、COMPLETED、CONFIGURING、FAILED、TIMEOUT、PREEMPTED、 NODE_FAIL和SPECIAL_EXIT,参见JOB STATE CODES(仅适用于作业) %u:作业或作业步的用户名 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 37 / 169 squeue主要参数 VIII %U:作业或作业步的用户ID %v:作业的预留资源(仅适用于作业) %V:作业的提交时间 %w:负载特征关键Workload Characterization Key(wckey)(仅适用于作业) %W:作业预留的授权(仅适用于作业) %x:作业排他性节点名(仅适用于作业) %X:系统使用需每个节点预留的CPU核数(仅适用于作业) %y:Nice值(调整作业调动优先级)(仅适用于作业) %Y:对于排队中作业,显示其开始运行时期望的节点名 %z:作业所需的每个节点的CPU颗数、CPU核数和线程数(S:C:T) ,如(S:C:T)未设置,则显 示*(仅适用于作业) %Z:作业的工作目录 -O , –Format=:以特定格式显示信息, 参见-o , –format= 每个字段的格式为“%[[.]size]type”: size:字段最小尺寸,如果没有指定size,则最长显示20个字符 .:右对齐显示,默认为左对齐 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 38 / 169 squeue主要参数 IX type:类型,一些类型仅对作业有效,而有些仅对作业步有效,可为: account:作业记账信息(仅适用于作业) allocnodes:作业分配的节点(仅适用于作业) allocsid:用于提交作业的会话ID(仅适用于作业) arrayjobid:作业组中的作业ID arraytaskid:作业组中的任务ID associd:作业关联ID(仅适用于作业) batchflag:是否批处理设定了标记(仅适用于作业) batchhost:执行节点(仅适用于作业): chptdir:作业checkpoint的写目录(仅适用于作业步) chptinter:作业checkpoint时间间隔(仅适用于作业步) command:作业执行的命令(仅适用于作业) comment:作业关联的说明(仅适用于作业) contiguous:作业是否要求连续节点(仅适用于作业) cores:作业所需的每颗CPU的CPU核数,显示的是srun –cores-per-socket设定的值, 如–cores-per-socket未设定,则显示*(仅适用于作业) corespec:为了系统使用所预留的CPU核数(仅适用于作业) 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 39 / 169 squeue主要参数 X cpufreq:分配的CPU主频(仅适用于作业步) cpuspertask:作业分配的每个任务的CPU颗数(仅适用于作业) deadline:作业的截止时间(仅适用于作业) dependency:作业依赖剩余。作业只有依赖的作业完成才运行,如显示NULL,则无依赖(仅 适用于作业) derivedec:作业的起源退出码,对任意作业步是最高退出码(仅适用于作业) eligibletime:预计作业开始运行时间(仅适用于作业) endtime:作业实际或预期的终止时间(仅适用于作业) exit_code:作业退出码(仅适用于作业) feature:作业所需的特性(仅适用于作业) gres:作业或作业步需的通用资源 groupid:作业用户组ID(仅适用于作业) groupname:作业用户组名(仅适用于作业) jobarrayid:作业组作业ID(仅适用于作业) jobid:作业号(仅适用于作业) licenses:作业预留的授权(仅适用于作业) maxcpus:分配给作业的最大CPU颗数(仅适用于作业) 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 40 / 169 squeue主要参数 XI maxnodes:分配给作业的最大节点数(仅适用于作业) mcslabel:作业的MCS_label(仅适用于作业) minmemory:作业所需的最小内存大小,单位MB(仅适用于作业) mintime:作业的最小时间限制(仅适用于作业) mintmpdisk:作业所需的临时磁盘空间,单位MB(仅适用于作业) mincpus:作业所需的各节点最小CPU颗数,显示的是srun –mincpus设定的值(仅适用于作业) name:作业或作业步名 network:作业运行的网络 nice Nice值(调整作业调度优先值)(仅适用于作业) nodes:作业或作业步分配的节点名,对于正在完成的作业,仅显示尚未释放资源回归服务的 节点 nodelist:作业或作业步分配的节点,对于正在完成的作业,仅显示尚未释放资源回归服务的 节点 ntpercore:作业每个CPU核分配的任务数(仅适用于作业) ntpernode:作业每个节点分配的任务数(仅适用于作业) ntpersocket:作业每颗CPU分配的任务数(仅适用于作业) numcpus:作业所需的或分配的CPU颗数 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 41 / 169 squeue主要参数 XII numnodes:作业所需的或分配的最小节点数(仅适用于作业) numtask:作业或作业号需的任务数,显示的–ntasks设定的 oversubscribe:分配给此作业的计算资源能否被其它作业预约(仅适用于作业) 。可被预约的资 源包含节点、CPU颗、CPU核或超线程。值可以为: partition:作业或作业步的队列 priority:作业的优先级(0.0到1.0之间) ,参见%Q(仅适用于作业) prioritylong:作业优先级(通常为非常大的一个无符号整数),参见%p(仅适用于作业) profile:作业特征(仅适用于作业) preemptime:作业抢占时间(仅适用于作业) qos:作业的服务质量(仅适用于作业) reason:作业在当前的原因,参见JOB REASON CODES(仅适用于作业) reasonlist:参见JOB REASON CODES(仅适用于作业) reqnodes:作业所需的节点名(仅适用于作业) requeue:作业失败时是否需重新排队运行(仅适用于作业) reservation:预留资源(仅适用于作业) resizetime:运行作业的变化时间总和(仅适用于作业) restartcnt:作业的重启checkpoint数(仅适用于作业) 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 42 / 169 squeue主要参数 XIII resvport:作业的预留端口(仅适用于作业步) schednodes:排队中的作业开始运行时预期将被用的节点列表(仅适用于作业) sct:各节点作业所需的CPU数、CPU核数和线程数(S:C:T) ,如(S:C:T)未设置,则显示* (仅适用于作业) selectjobinfo:节点选择插件针对作业指定的数据,可能的数据包含:资源分配的几何维度 (X、Y、Z维度)、连接类型(TORUS、MESH或NAV == torus else mesh),是否允许几何旋转 (yes或no),节点使用(VIRTUAL或COPROCESSOR)等(仅适用于作业) sockets:作业每个节点需的CPU数,显示srun时的–sockets-per-node选项, 如–sockets-per-node未设置,则显示*(仅适用于作业) sperboard:每个主板分配给作业的CPU数(仅适用于作业) starttime:作业或作业布实际或预期开始时间 state:扩展格式作业状态:排队中PENDING、运行中RUNNING、已停止STOPPED、被挂 起SUSPENDED、被取消CANCELLED、完成中COMPLETING、已完成COMPLETED、配置 中CONFIGURING、已失败FAILED、超时TIMEOUT、预取PREEMPTED、节点失 效NODE_FAIL、特定退出SPECIAL_EXIT,参见JOB STATE CODES部分(仅适用于作业) 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 43 / 169 squeue主要参数 XIV statecompact:紧凑格式作业状态:PD(排队中pending) 、R(运行中running)、CA(已取 消cancelled)、CF(配置中configuring) 、CG(完成中completing)、CD(已完成completed) 、F (已失败failed) 、TO(超时timeout) 、NF(节点失效node failure)和SE(特定退出状态special exit state),参见JOB STATE CODES部分(仅适用于作业) stderr:标准出错输出目录(仅适用于作业) stdin:标准输入目录(仅适用于作业) stdout:标准输出目录(仅适用于作业) stepid:作业或作业步号。在作业组中,作业号格式为“_”(仅适用于作业 步) stepname:作业步名(仅适用于作业步) stepstate:作业步状态(仅适用于作业步) submittime:作业提交时间(仅适用于作业) threads:作业所需的每颗CPU核的线程数,显示srun的–threads-per-core参数, 如–threads-per-core未设置,则显示*(仅适用于作业) timeleft:作业剩余时间,格式为“days-hours:minutes:seconds”,此值是通过其时间限制减去已运 行时间得出的:如未建立则显示“NOT_SET”;如无限制则显示“UNLIMITED”(仅适用于作业) timelimit:作业或作业步的时间限制 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 44 / 169 squeue主要参数 XV timeused:作业或作业步以使用时间,格式为“days-hours:minutes:seconds”,days和hours只有需 要时才显示。对于作业步,显示从执行开始经过的时间,因此对于被曾挂起的作业并不准确。 节点间的时间差也会导致时间不准确。如时间不对(如,负值) ,将显示“INVALID” tres:显示分配给作业的可被追踪的资源 userid:作业或作业步的用户ID username:作业或作业步的用户名 wait4switch:需满足转轨器数目的总等待时间(仅适用于作业) wckey:工作负荷特征关键(wckey)(仅适用于作业) workdir:作业工作目录(仅适用于作业) 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 45 / 169 查看详细队列信息:scontrol show partition I scontrol show partition显示全部队列信息(在不引起歧义的情况下,可以不必输全,如 可以只输入scontrol show pa,其他类似) scontrol show partition PartitionName或scontrol show partition=PartitionName 显示队列 名为PartitionName的队列信息 输出类似: P a r t i t i o n N a m e =CPU- L a r g e AllowGroups =ALL A l l o w A c c o u n t s =ALL AllowQos=ALL A l l o c N o d e s =ALL D e f a u l t =YES QoS=N/A D e f a u l t T i m e =NONE D i s a b l e R o o t J o b s =YES E x c l u s i v e U s e r =NO GraceTime =0 Hidden =NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes =0 LLN=NO MaxCPUsPerNode=UNLIMITED Nodes= c n o d e [ 0 0 1 - 7 2 0 ] P r i o r i t y J o b F a c t o r =1 P r i o r i t y T i e r =1 RootOnly =NO ReqResv=NO O v e r S u b s c r i b e =NO O v e r T i m e L i m i t =NONE PreemptMode=OFF S t a t e =UP TotalCPUs =28800 T o t a l N o d e s =720 S e l e c t T y p e P a r a m e t e r s =NONE J o b D e f a u l t s =( n u l l ) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED P a r t i t i o n N a m e =GPU- V100 AllowGroups =ALL A l l o w A c c o u n t s =ALL AllowQos=ALL 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 46 / 169 查看详细队列信息:scontrol show partition II A l l o c N o d e s =ALL D e f a u l t =NO QoS=N/ A D e f a u l t T i m e =NONE D i s a b l e R o o t J o b s =YES E x c l u s i v e U s e r =NO GraceTime =0 Hidden =NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes =0 LLN=NO MaxCPUsPerNode=UNLIMITED Nodes= gnode [ 0 1 - 1 0 ] P r i o r i t y J o b F a c t o r =1 P r i o r i t y T i e r =1 RootOnly =NO ReqResv=NO O v e r S u b s c r i b e =NO O v e r T i m e L i m i t =NONE PreemptMode=OFF S t a t e =UP TotalCPUs =400 T o t a l N o d e s =10 S e l e c t T y p e P a r a m e t e r s =NONE J o b D e f a u l t s =( n u l l ) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED P a r t i t i o n N a m e =2TB - AEP -Mem AllowGroups =ALL A l l o w A c c o u n t s =ALL AllowQos=ALL A l l o c N o d e s =ALL D e f a u l t =NO QoS=N/ A D e f a u l t T i m e =NONE D i s a b l e R o o t J o b s =YES E x c l u s i v e U s e r =NO GraceTime =0 Hidden =NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes =0 LLN=NO MaxCPUsPerNode=UNLIMITED Nodes= a n o d e [ 0 1 - 0 8 ] P r i o r i t y J o b F a c t o r =1 P r i o r i t y T i e r =1 RootOnly =NO ReqResv=NO O v e r S u b s c r i b e =NO O v e r T i m e L i m i t =NONE PreemptMode=OFF S t a t e =UP TotalCPUs =320 T o t a l N o d e s =8 S e l e c t T y p e P a r a m e t e r s =NONE J o b D e f a u l t s =( n u l l ) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 47 / 169 scontrol show partition主要输出项 I PartitionName:队列名 AllowGroups:允许的用户组 AllowAccounts:允许的用户 AllowQos:允许的QoS AllocNodes:允许的节点 Default:是否为默认队列 QoS:服务质量 DefaultTime:默认时间 DisableRootJobs:是否禁止root用户提交作业 ExclusiveUser:排除的用户 GraceTime:抢占的款显时间,单位秒 Hidden:是否为隐藏队列 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 48 / 169 scontrol show partition主要输出项 II MaxNodes:最大节点数 MaxTime:最大运行时间 MinNodes:最小节点数 LLN:是否按照最小负载节点调度 MaxCPUsPerNode:每个节点的最大CPU颗数 Nodes:节点名 PriorityJobFactor:作业因子优先级 PriorityTier:调度优先级 RootOnly:是否只允许Root ReqResv:要求预留的资源 OverSubscribe:是否允许超用 PreemptMode:是否为抢占模式 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 49 / 169 scontrol show partition主要输出项 III State:状态: UP:可用,作业可以提交到此队列,并将运行 DOWN:作业可以提交到此队列,但作业也许不会获得分配开始运行。已运行的作业还将 继续运行 DRAIN:不接受新作业,已接受的作业可以被运行 INACTIVE:不接受新作业,已接受的作业未开始运行的也不运行 TotalCPUs:总CPU核数 TotalNodes:总节点数 SelectTypeParameters:资源选择类型参数 DefMemPerNode:每个节点默认分配的内存大小,单位MB MaxMemPerNode:每个节点最大内存大小,单位MB 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 50 / 169 查看详细节点信息:scontrol show node I scontrol show node显示全部节点信息 scontrol show node NODENAME或scontrol show node=NODENAME 显示节点名 为NODENAME的节点信息 输出类似: NodeName= a n o d e 0 1 Arch= x86_64 C o r e s P e r S o c k e t =20 CPUAlloc =0 CPUTot=40 CPULoad = 0 . 0 1 A v a i l a b l e F e a t u r e s =( n u l l ) A c t i v e F e a t u r e s =( n u l l ) Gres =( n u l l ) NodeAddr= a n o d e 0 1 NodeHostName= a n o d e 0 1 V e r s i o n = 1 9 . 0 5 . 4 OS= L i n u x 3 . 1 0 . 0 - 1 0 6 2 . e l 7 . x86_64 #1 SMP Wed Aug 7 1 8 : 0 8 : 0 2 UTC 2019 RealMemory =2031623 AllocMem=0 FreeMem =1989520 S o c k e t s =2 B o a r d s =1 S t a t e =IDLE T h r e a d s P e r C o r e =1 TmpDisk=0 Weight =1 Owner=N/ A MCS_label =N/ A P a r t i t i o n s =2TB - AEP -Mem BootTime =2019 - 11 - 09 T15 : 4 7 : 5 6 S l u r m d S t a r t T i m e =2019 - 12 - 01 T19 : 0 1 : 5 9 CfgTRES= cpu =40 ,mem=2031623M, b i l l i n g =40 AllocTRES= CapWatts =n / a 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 51 / 169 查看详细节点信息:scontrol show node II C u r r e n t W a t t s =0 AveWatts =0 E x t S e n s o r s J o u l e s =n / s E x t S e n s o r s W a t t s =0 E x t S e n s o r s T e m p =n / s NodeName= gnode01 Arch= x86_64 C o r e s P e r S o c k e t =20 CPUAlloc =0 CPUTot=40 CPULoad = 0 . 0 1 A v a i l a b l e F e a t u r e s =( n u l l ) A c t i v e F e a t u r e s =( n u l l ) G r e s =gpu : v100 : 2 NodeAddr= gnode01 NodeHostName= gnode01 V e r s i o n = 1 9 . 0 5 . 4 OS= L i n u x 3 . 1 0 . 0 - 1 0 6 2 . e l 7 . x86_64 #1 SMP Wed Aug 7 1 8 : 0 8 : 0 2 UTC 2019 RealMemory =385560 AllocMem=0 FreeMem =368966 S o c k e t s =2 B o a r d s =1 S t a t e =IDLE T h r e a d s P e r C o r e =1 TmpDisk=0 Weight =1 Owner=N/ A MCS_label =N/ A P a r t i t i o n s =GPU- V100 BootTime =2019 - 11 - 13 T16 : 5 1 : 3 1 S l u r m d S t a r t T i m e =2019 - 12 - 01 T19 : 5 4 : 5 5 CfgTRES= cpu =40 ,mem=385560M, b i l l i n g =40 , g r e s / gpu =2 AllocTRES= CapWatts =n / a C u r r e n t W a t t s =0 AveWatts =0 E x t S e n s o r s J o u l e s =n / s E x t S e n s o r s W a t t s =0 E x t S e n s o r s T e m p =n / s 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 52 / 169 scontrol show node主要输出项 I NodeName:节点名 Arch:系统架构 CoresPerSocket:12 CPUAlloc:分配给的CPU核数 CPUErr:出错的CPU核数 CPUTot:总CPU核数 CPULoad:CPU负载 AvailableFeatures:可用特性 ActiveFeatures:激活的特性 Gres:通用资源。如上面Gres=gpu:v100:2指明了有两块V100 GPU NodeAddr:节点IP地址 NodeHostName:节点名 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 53 / 169 scontrol show node主要输出项 II Version:Slurm版本 OS:操作系统 RealMemory:实际物理内存,单位GB AllocMem:已分配内存,单位GB FreeMem:可用内存,单位GB Sockets:CPU颗数 Boards:主板数 State:状态 ThreadsPerCore:每颗CPU核线程数 TmpDisk:临时存盘硬盘大小 Weight:权重 BootTime:开机时间 SlurmdStartTime:Slurmd守护进程启动时间 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 54 / 169 查看详细作业信息:scontrol show job I scontrol show job显示全部作业信息 scontrol show job JOBID或scontrol show job=JOBID 显示作业号为JOBID的作业信息 输出类似: J o b I d =77 JobName= g r e s _ t e s t . b a s h U s e r I d = h m l i ( 1 0 0 0 1 ) G r o u p I d = n i c ( 1 0 0 0 1 ) MCS_label =N/ A P r i o r i t y =4294901755 N i c e =0 A c c o u n t = ( n u l l ) QOS= n o r m a l J o b S t a t e =RUNNING Reason =None Dependency = ( n u l l ) Requeue =1 R e s t a r t s =0 B a t c h F l a g =1 R e b o o t =0 E x i t C o d e = 0 : 0 RunTime = 0 0 : 0 0 : 1 1 T i m e L i m i t =UNLIMITED TimeMin=N/ A SubmitTime =2019 - 12 - 01 T20 : 1 0 : 1 5 E l i g i b l e T i m e =2019 - 12 - 01 T20 : 1 0 : 1 5 AccrueTime =2019 - 12 - 01 T20 : 1 0 : 1 5 S t a r t T i m e =2019 - 12 - 01 T20 : 1 0 : 1 6 EndTime=Unknown D e a d l i n e =N/ A SuspendTime =None S e c s P r e S u s p e n d =0 L a s t S c h e d E v a l =2019 - 12 - 01 T20 : 1 0 : 1 6 P a r t i t i o n =GPU- V100 A l l o c N o d e : S i d = l o g i n 0 1 : 1 0 1 6 ReqNodeList =( n u l l ) ExcNodeList =( n u l l ) N o d e L i s t = gnode01 B a t c h H o s t = gnode01 NumNodes=1 NumCPUs=1 NumTasks=1 CPUs / Task =1 ReqB : S : C : T = 0 : 0 : * : * TRES= cpu =1 , node =1 , b i l l i n g =1 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 55 / 169 查看详细作业信息:scontrol show job II S o c k s / Node=* N t a s k s P e r N : B : S : C = 0 : 0 : * : * C o r e S p e c =* MinCPUsNode=1 MinMemoryNode=0 MinTmpDiskNode=0 F e a t u r e s =( n u l l ) DelayBoot =00:00:00 O v e r S u b s c r i b e =OK C o n t i g u o u s =0 L i c e n s e s = ( n u l l ) Network = ( n u l l ) Command = / home / n i c / h m l i / g r e s _ t e s t . b a s h WorkDir = / home / n i c / h m l i S t d E r r = / home / n i c / h m l i / j o b - 7 7 . e r r S t d I n = / dev / n u l l S t d O u t = / home / n i c / h m l i / j o b - 7 7 . l o g Power= 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 56 / 169 scontrol show job主要输出项 I JobId:作业号 JobName:作业名 UserId:用户名(用户ID) GroupId:用户组(组ID) MCS_label: Priority:优先级,越大越优先,如果为0则表示被管理员挂起,不允许运行 Nice:Nice值,越小越优先,-20到19 Account:记账用户名 QOS:作业的服务质量 JobState:作业状态 PENDING:排队中 RUNNING:运行中 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 57 / 169 scontrol show job主要输出项 II CANCELLED:已取消 CONFIGURING:配置中 COMPLETING:完成中 COMPLETED:已完成 FAILED:已失败 TIMEOUT:超时 NODE FAILURE:节点失效 SPECIAL EXIT STATE:特殊退出状态 Reason:原因 Dependency:依赖关系 Requeue:节点失效时,是否重排队,0为否,1为是 Restarts:失败时,是否重运行,0为否,1为是 BatchFlag:是否为批处理作业,0为否,1为是 Reboot:节点空闲时是否重启节点,0为否,1为是 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 58 / 169 scontrol show job主要输出项 III ExitCode:作业退出代码 RunTime:已运行时间 TimeLimit:作业允许的剩余运行时间 TimeMin:最小时间 SubmitTime:提交时间 EligibleTime:获得认可时间 StartTime:开始运行时间 EndTime:预计结束时间 Deadline:截止时间 PreemptTime:先占时间 SuspendTime:挂起时间 SecsPreSuspend:0 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 59 / 169 scontrol show job主要输出项 IV Partition:对列名 AllocNode:Sid:分配的节点:系统ID号 ReqNodeList:去要的节点列表 ExcNodeList:排除的节点列表 NodeList:实际运行节点列表 BatchHost:批处理节点名 NumNodes:节点数 NumCPUs:CPU核数 NumTasks:任务数 CPUs/Task:CPU核数/任务数 ReqB:S:C:T:所需的主板数:每主板CPU颗数:每颗CPU核数:每颗CPU核的线程数, ::: 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 60 / 169 scontrol show job主要输出项 V TRES:显示分配给作业的可被追踪的资源 Socks/Node:每节点CPU颗数 NtasksPerN:B:S:C:每主板数:每主板CPU颗数:每颗CPU的核数:每颗CPU核的线程数启 动的作业数, ::: CoreSpec:各节点系统预留的CPU核数,如未包含,则显示* MinCPUsNode:每节点最小CPU核数 MinMemoryNode:每节点最小内存大小,0表示未限制 MinTmpDiskNode:每节点最小临时存盘硬盘大小,0表示未限制 Features:特性 Gres:通用资源 Reservation:预留资源 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 61 / 169 scontrol show job主要输出项 VI OverSubscribe:是否允许与其它作业共享资源,OK允许,NO不允许 Contiguous:是否要求分配连续节点,OK是,NO否 Licenses:软件授权 Network:网络 Command:作业命令 WorkDir:工作目录 StdErr:标准出错输出文件 StdIn:标准输入文件 StdOut:标准输出文件 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 62 / 169 查看作业屏幕输出:speek I 监测作业屏幕输出的命令speek(类似LSF的bpeek) ,基本用法speek [-e] [-f] 作业号 默认显示正常屏幕输出 如添加-f参数,则连续监测输出 如添加-e参数,则监测错误日志  注:speek命令是本人写的,非slurm官方命令,在其它系统上不一定有,可自己添加 #!/bin/bash #Author: HM Li if [ $# −lt 1 ] ; then −−−→echo ”Usage: speek [-e] [-f] jobid” −−−→echo ”-e: show error log.” −−−→echo ”-f: output appended data as the file grows.” fi NO=1 STD=StdOut while getopts ’ef’ OPT; do −−−→case $OPT in −−−→−−−→e) −−−→−−−→−−−→STD=StdErr 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 63 / 169 查看作业屏幕输出:speek II −−−→−−−→−−−→;; −−−→−−−→f) −−−→−−−→−−−→T=’-f’ −−−→−−−→−−−→;; −−−→esac done JID=${!#} F=‘scontrol show job $JID 2>/dev/null | awk -v STD=$STD -F=’{if($1~’STD’) print $2}’‘ if [ -f ”$F” ]; then −−−→tail $T $F else −−−→echo ”Job $JID has no $STD file.” fi   注意: ‘:键盘左上角反引号‘,尾巴朝上,在Shell中一对‘内的命令的输出将作为值传递给=前的变量,如:A=‘date‘ ’:单引号’,尾巴朝下 ”:双引号”,双尾巴朝下 下载:http://hmli.ustc.edu.cn/doc/training/slurm/speek 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 64 / 169 查看作业负载:jload  监测作业负载命令jload,基本用法jload [jobid] 注:该jload命令是本人写的,不是slurm官方命令,在其它系统上不一定有,可以自 己添加 #!/bin/sh if [ $# −lt 1 ]; then −−−→echo ”Usage: jload [jobid]” −−−→echo ”Current jobs: ” −−−→squeue -u $USER −−−→exit fi jobid=$1 HEADER=”HOSTNAMES CPUS CPU_LOAD FREE_MEM(GB)\tSTATE\t\tREASON\tTIMESTAMP” echo -e $HEADER sinfo -h -o ”%n %c %O %e %T %E %H” -n ‘squeue -h -j $jobid -o ”%N”‘ | sort | \ −−−→awk ’{printf(”%8s %4i %7.1f %9.1f %12s %15s %15s\n”,$1,$2,$3,$4/1000.0,$5,$6,$7)}’ echo -e $HEADER   注意:以上 sinfo行末尾有个\,表示下一行是续行 下载:http://hmli.ustc.edu.cn/doc/training/slurm/jload 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 65 / 169 交互式提交并行作业:srun srun可以交互式提交运行并行作业,提交后,作业等待运行,等运行完毕后,才返回终端。 语法为:srun [OPTIONS...] executable [args...] 李会民 (中国科大超算中心) Slurm作业管理系统使用 2023-05-30 66 / 169 srun主要参数 I –begin=

相关文章