Slurm学习笔记(二)
一、查看队列详细信息
scontrol show partition
显示全部队列信息,scontrol show partition PartitionName
或 scontrol show partition=PartitionName
显示队列名PartitionName的队列信息,输出类似:
PartitionName=debug AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL AllocNodes=ALL Default=YES QoS=N/A DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO GraceTime=0 Hidden=NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED Nodes=gpu01,gpu02,gpu03,gpu04,gpu05,gpu06 PriorityJobFactor=1 PriorityTier=1 RootOnly=NO ReqResv=NO OverSubscribe=NO OverTimeLimit=NONE PreemptMode=OFF State=UP TotalCPUs=164 TotalNodes=6 SelectTypeParameters=NONE JobDefaults=(null) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED
其主要输出项如下:
• PartitionName:队列名。
• AllowGroups:允许的用户组。
• AllowAccounts:允许的用户。
• AllowQos:允许的QoS。
• AllocNodes:允许的节点。
• Default:是否为默认队列。
• QoS:服务质量。
• DefaultTime:默认时间。
• DisableRootJobs:是否禁止root用户提交作业。
• ExclusiveUser:排除的用户。
• GraceTime:抢占的款显时间,单位秒。
• Hidden:是否为隐藏队列。
• MaxNodes:最大节点数。
• MaxTime:最大运行时间。
• MinNodes:最小节点数。
• LLN:是否按照最小负载节点调度。
• MaxCPUsPerNode:每个节点的最大CPU颗数。
• Nodes:节点名。
• PriorityJobFactor:作业因子优先级。
• PriorityTier:调度优先级。
• RootOnly:是否只允许Root。
• ReqResv:要求预留的资源。
• OverSubscribe:是否允许超用。
• PreemptMode:是否为抢占模式。
• State:状态:
– UP:可用,作业可以提交到此队列,并将运行。
– DOWN:作业可以提交到此队列,但作业也许不会获得分配开始运行。已运行的作业还将继续运行。
– DRAIN:不接受新作业,已接受的作业可以被运行。
– INACTIVE:不接受新作业,已接受的作业未开始运行的也不运行。
• TotalCPUs:总CPU核数。
• TotalNodes:总节点数。
• SelectTypeParameters:资源选择类型参数。
• DefMemPerNode:每个节点默认分配的内存大小,单位MB。
• MaxMemPerNode:每个节点最大内存大小,单位MB。
二、查看节点详细信息
scontrol show node
显示全部节点信息,scontrol show node NODENAM
E或 scontrol show node=NODENAME
显示节点名NODENAME的节点信息,输出类似:
NodeName=gpu01 Arch=x86_64 CoresPerSocket=10 CPUAlloc=1 CPUTot=20 CPULoad=4.81 AvailableFeatures=(null) ActiveFeatures=(null) Gres=gpu:6 NodeAddr=gpu01 NodeHostName=gpu01 OS=Linux 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 RealMemory=257408 AllocMem=0 FreeMem=957 Sockets=2 Boards=1 State=MIXED ThreadsPerCore=1 TmpDisk=0 Weight=1 Owner=N/A MCS_label=N/A Partitions=debug BootTime=2020-04-28T16:36:40 SlurmdStartTime=2020-09-09T11:12:51 CfgTRES=cpu=20,mem=257408M,billing=20 AllocTRES=cpu=1 CapWatts=n/a CurrentWatts=0 AveWatts=0 ExtSensorsJoules=n/s ExtSensorsWatts=0 ExtSensorsTemp=n/s
其主要输出项如下:
• NodeName:节点名。
• Arch:系统架构。
• CoresPerSocket:12。
• CPUAlloc:分配给的CPU核数。
• CPUErr:出错的CPU核数。
• CPUTot:总CPU核数。
• CPULoad:CPU负载。
• AvailableFeatures:可用特性。
• ActiveFeatures:激活的特性。
• Gres:通用资源。如上面Gres=gpu:v100:2指明了有两块V100 GPU。
• NodeAddr:节点IP地址。
• NodeHostName:节点名。
• Version:Slurm版本。
• OS:操作系统。 • RealMemory:实际物理内存,单位GB。
• AllocMem:已分配内存,单位GB。
• FreeMem:可用内存,单位GB。
• Sockets:CPU颗数。
• Boards:主板数。
• State:状态。
• ThreadsPerCore:每颗CPU核线程数。
• TmpDisk:临时存盘硬盘大小。
• Weight:权重。
• BootTime:开机时间。
• SlurmdStartTime:Slurmd守护进程启动时间
更多信息参见:https://slurm.schedmd.com/scontrol.html
三、查看作业详细信息
scontrol show job
显示全部作业信息,scontrol show job JOBID
或scontrol show job=JOBID
显 示作业号为JOBID的作业信息,输出类似下面:
JobId=918 JobName=bash UserId=sunyuming-slurm(11157) GroupId=sunyuming-slurm(11157) MCS_label=N/A Priority=4294901738 Nice=0 Account=test QOS=normal JobState=RUNNING Reason=None Dependency=(null) Requeue=1 Restarts=0 BatchFlag=0 Reboot=0 ExitCode=0:0 RunTime=01:01:56 TimeLimit=UNLIMITED TimeMin=N/A SubmitTime=2020-09-21T09:42:45 EligibleTime=2020-09-21T09:42:45 AccrueTime=Unknown StartTime=2020-09-21T09:42:45 EndTime=Unknown Deadline=N/A SuspendTime=None SecsPreSuspend=0 LastSchedEval=2020-09-21T09:42:45 Partition=debug AllocNode:Sid=gpu01:44730 ReqNodeList=(null) ExcNodeList=(null) NodeList=gpu01 BatchHost=gpu01 NumNodes=1 NumCPUs=1 NumTasks=1 CPUs/Task=1 ReqB:S:C:T=0:0:*:* TRES=cpu=1,node=1,billing=1 Socks/Node=* NtasksPerN:B:S:C=0:0:*:* CoreSpec=* MinCPUsNode=1 MinMemoryNode=0 MinTmpDiskNode=0 Features=(null) DelayBoot=00:00:00 OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null) Command=(null) WorkDir=/data/sunyuming-slurm Power=
其主要输出项如下:
• JobId:作业号。
• JobName:作业名。
• UserId:用户名(用户ID)。
• GroupId:用户组(组ID)。
• MCS_label:。
• Priority:优先级,越大越优先,如果为0则表示被管理员挂起,不允许运行。
• Nice:Nice值,越小越优先,20到19。
• Account:记账用户名。
• QOS:作业的服务质量。
• JobState:作业状态。
– PENDING:排队中。
– RUNNING:运行中。
– 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为是。
• ExitCode:作业退出代码。
• RunTime:已运行时间。
• TimeLimit:作业允许的剩余运行时间。
• TimeMin:最小时间。
• SubmitTime:提交时间。
• EligibleTime:获得认可时间。
• StartTime:开始运行时间。
• EndTime:预计结束时间。
• Deadline:截止时间。
• PreemptTime:先占时间。
• SuspendTime:挂起时间。
• SecsPreSuspend:0。
• Partition:队列名。
• AllocNode:Sid:分配的节点:系统ID号。
• ReqNodeList:去要的节点列表。
• ExcNodeList:排除的节点列表。
• NodeList:实际运行节点列表。
• BatchHost:批处理节点名。
• NumNodes:节点数。
• NumCPUs:CPU核数。
• NumTasks:任务数。
• CPUs/Task:CPU核数/任务数。
• ReqB:S:C:T:所需的主板数:每主板CPU颗数:每颗CPU核数:每颗CPU核的线程数,<baseboard_count>:<socket_per_baseboard_count>:<core_per_socket_count>:<thread_per_core_count>。
• TRES:显示分配给作业的可被追踪的资源。
• Socks/Node:每节点CPU颗数。
• NtasksPerN:B:S:C:每主板数:每主板CPU颗数:每颗CPU的核数:每颗CPU核的线程数启动的作业数,<tasks_per_node>:<tasks_per_baseboard>:<tasks_per_socket>:<tasks_per_core>。
• CoreSpec:各节点系统预留的CPU核数,如未包含,则显示*。
• MinCPUsNode:每节点最小CPU核数。
• MinMemoryNode:每节点最小内存大小,0表示未限制。
• MinTmpDiskNode:每节点最小临时存盘硬盘大小,0表示未限制。
• Features:特性。
• Gres:通用资源。 • Reservation:预留资源。
• OverSubscribe:是否允许与其它作业共享资源,OK允许,NO不允许。
• Contiguous:是否要求分配连续节点,OK是,NO否。
• Licenses:软件授权。
• Network:网络。
• Command:作业命令。
• WorkDir:工作目录。
• StdErr:标准出错输出文件。
• StdIn:标准输入文件。
• StdOut:标准输出文件。
更多信息参见:https://slurm.schedmd.com/scontrol.html