scontrol
部分: Slurm 命令 (1)更新: Slurm 命令
索引
名称
scontrol - 查看或修改 Slurm 配置和状态。概要
scontrol [选项...] [命令...]描述
scontrol 用于查看或修改 Slurm 配置,包括:作业、作业步骤、节点、分区、保留和整体系统配置。大多数命令只能由 root 用户或管理员执行。如果未经授权的用户尝试查看或修改配置信息,将会打印错误消息,并且请求的操作将不会发生。如果在执行行上未输入命令,scontrol 将以交互模式运行并提示输入。它将继续提示输入并执行命令,直到显式终止。如果在执行行上输入了命令,scontrol 将执行该命令并终止。所有命令和选项不区分大小写,但节点名称、分区名称和保留名称是区分大小写的(节点名称 "LX" 和 "lx" 是不同的)。所有命令和选项可以缩写到唯一的程度。可以使用 scontrol write config 命令将修改后的 Slurm 配置写入文件。生成的文件将使用约定 "slurm.conf.<datetime>" 命名,并位于与原始 "slurm.conf" 文件相同的目录中。包含原始 slurm.conf 的目录必须可写才能实现此操作。选项
- -a, --all
- 当使用 show 命令时,显示所有分区、它们的作业和作业步骤。这会导致显示关于配置为隐藏的分区和对用户组不可用的分区的信息。
-
- -M, --clusters=<字符串>
- 要发出命令的集群。只能指定一个集群名称。注意,slurmdbd 必须处于运行状态,以便此选项正常工作,除非在配置了 FederationParameters=fed_display 的联合中运行,或设置了 --federation 选项。此选项隐含地设置 --local 选项。
-
- -d, --details
- 导致 show 命令提供可用的额外详细信息。
-
- --federation
- 如果是联合的成员,则报告来自联合的作业。
-
- -F, --future
- 报告处于未来状态的节点。
-
- -h, --help
- 打印描述 scontrol 使用的帮助信息。
-
- --hide
- 不显示关于隐藏分区、它们的作业和作业步骤的信息。默认情况下,既不显示配置为隐藏的分区,也不显示对用户组不可用的分区(即这是默认行为)。
-
- --json, --json=列表, --json=<数据解析器>
- 以 JSON 格式转储信息,使用默认的数据解析器插件或显式的数据解析器及其参数。所有信息都会被转储,即使它通常不会。传递给其他选项的排序和格式化参数将被忽略;但是,大多数过滤参数仍然有效。此选项并非适用于每个命令。此选项隐含地设置 --details 选项。
-
- --local
- 仅显示本集群的本地信息。如果是联合的成员,则忽略其他集群。覆盖 --federation。
-
- -o, --oneliner
- 每条记录打印一行信息。
-
- -Q, --quiet
- 不打印警告或信息消息,仅打印致命错误消息。
-
- --sibling
- 显示联合集群上的所有兄弟作业。隐含地表示 --federation。
-
- -u, --uid=<uid>
- 尝试以用户 <uid> 更新作业,而不是调用用户 ID。
-
- -v, --verbose
- 打印详细的事件日志。多个 '-v' 将进一步增加日志的详细程度。默认情况下,仅显示错误。
-
- -V , --version
- 打印版本信息并退出。
-
- --yaml, --yaml=列表, --yaml=<数据解析器>
- 以 YAML 格式转储信息,使用默认的数据解析器插件或显式的数据解析器及其参数。所有信息都会被转储,即使它通常不会。传递给其他选项的排序和格式化参数将被忽略;但是,大多数过滤参数仍然有效。此选项并非适用于每个命令。此选项隐含地设置 --details 选项。
-
命令
- cancel_reboot <NodeList>
- 取消节点上的待处理重启。如果节点是由于 ASAP 重启而被排空,则节点将被取消排空并清除原因。
-
- create <SPECIFICATION>
- 创建一个新的节点、分区或保留。请参见下面的完整参数列表。
-
- completing
- 显示所有处于完成状态的作业及其相关节点,状态为完成或关闭。
-
- delete <SPECIFICATION>
- 删除指定的 SPECIFICATION 条目。三个 SPECIFICATION 选项是 NodeName=<nodelist>、PartitionName=<name> 和 ReservationName=<name>。只有没有正在运行作业且不属于保留的动态节点可以被删除。保留和分区在删除时应没有关联的作业(首先修改作业)。如果指定的分区正在使用,请求将被拒绝。
-
- errnumstr <ERRNO>
- 给定一个 Slurm 错误编号,返回描述字符串。
-
- fsdampeningfactor <FACTOR>
- 设置 slurmctld 中的 FairShareDampeningFactor。
-
- getaddrs <NODES>
- 从 slurmctld 获取 <NODES> 的 IP 地址。
-
- help
- 显示 scontrol 选项和命令的描述。
-
- hold <job_list>
- 防止待处理作业启动(将其优先级设置为 0)。使用 release 命令允许作业被调度。job_list 参数是作业 ID 的逗号分隔列表,或是带有作业名称的 "jobname=",这将尝试保持所有具有该名称的作业。注意,当作业被系统管理员使用 hold 命令保持时,只有系统管理员可以释放该作业以供执行(另见 uhold 命令)。当作业被其拥有者保持时,作业的拥有者也可以释放它。此外,尝试保持正在运行的作业不会暂停或取消它。但它会将作业优先级设置为 0 并更新作业原因字段,如果在稍后重新排队时将保持作业。
-
- notify <job_id> <message>
- 向与指定 job_id 相关的 salloc 或 srun 命令或批处理作业的标准错误发送消息。
-
- pidinfo <proc_id>
- 打印与提供的进程 ID proc_id 相关的 Slurm 作业 ID 和计划终止时间,位于当前节点上。此命令仅适用于在运行 scontrol 的节点上生成的进程及其后代。
-
- listjobs [<NodeName>]
- 打印在运行此命令的主机上运行的作业。这会联系任何在本地运行的 slurmstepd,而不会联系 slurmctld。
如果使用 --enable-multiple-slurmd,请使用 <NodeName>。
-
- listpids [<job_id>[.<step_id>]] [<NodeName>]
- 打印作业步骤中的进程 ID 列表(如果提供了 JOBID.STEPID),或作业中的所有作业步骤(如果提供了 job_id),或在本地节点上所有作业中的所有作业步骤(如果未提供 job_id 或 job_id 为 "*")。此命令仅适用于在运行 scontrol 的节点上生成的进程及其后代。注意某些 Slurm 配置(ProctrackType 值为 pgid)无法识别与作业或作业步骤相关的所有进程。
注意,NodeName 选项仅在您在同一主机上运行多个 slurmd 守护进程时真正有用。一个主机上的多个 slurmd 守护进程通常仅供 Slurm 开发人员使用。
-
- liststeps [<NodeName>]
- 打印在运行此命令的主机上运行的步骤。这会联系任何在本地运行的 slurmstepd,而不会联系 slurmctld。
如果使用 --enable-multiple-slurmd,请使用 <NodeName>。
-
- ping
- 对主从 slurmctld 守护进程进行 ping 测试,并报告它们是否响应。
-
- power {up|down} [asap|force] {ALL|<NodeList>|<NodeSet>} [Reason=<reason>]
- 控制提供的节点列表/集合的电源状态。对于 'power down',可选的 ASAP/FORCE 标志将添加到电源关闭请求,但对于电源开启请求将被拒绝。所有参数将不区分大小写处理,节点列表/集合除外。可选的 reason 仅在电源关闭时可以指定。此子命令废弃了 scontrol 的更新命令的先前用法:
scontrol update NodeName=<nodes>
State={POWER_UP|POWER_DOWN|POWER_DOWN_ASAP|POWER_DOWN_FORCE}-
命令:
- down
- 将使用配置的 SuspendProgram 程序显式将节点置于节能模式。如果节点已经在关闭电源的过程中,则该命令仅会更改节点的状态,但在达到配置的 SuspendTimeout 之前不会产生任何效果。使用此命令在 ResumeProgram(如 Cray 机器中的 capmc)停滞的情况下,可以手动将节点恢复到 "IDLE"。在这种情况下,重启节点并将状态设置为 "power down" 将取消先前的 "power up" 状态,节点将变为 "IDLE"。
-
- down asap
- 将排空节点并标记为关闭电源。当前正在运行的作业将首先完成,并且不会将其他作业分配给节点。
-
- down force
- 将取消节点上的所有作业,关闭电源,并将其状态重置为 "IDLE"。
-
- up
- 将使用配置的 ResumeProgram 程序显式将节点移出节能模式。如果节点已经在开启电源的过程中,则该命令仅会更改节点的状态,但在达到配置的 ResumeTimeout 之前不会产生任何效果。
-
命令:
注意: 对于处于以下状态的主机,重启请求将被忽略:FUTURE、POWER_DOWN、POWERED_DOWN、POWERING_DOWN、REBOOT_ISSUED、REBOOT_REQUESTED
注意: 默认情况下,此命令不会阻止在重启之前在任何节点上调度其他作业。要做到这一点,您可以使用 "ASAP" 选项或在此之前显式排空节点。您还可以创建高级保留,以防止在要重启的节点上启动其他作业。可以使用 "scontrol cancel_reboot <node>" 或将节点状态设置为 "CANCEL_REBOOT" 来取消待处理的重启。如果节点在 ResumeTimeout 内未重启,将被标记为 "DOWN"。
注意: 挂起的作业释放其 CPU 以分配给其他作业。恢复先前挂起的作业可能导致多个作业分配相同的 CPU,这可能会在某些配置中触发团体调度,或在其他配置中严重降低性能。使用 scancel 命令发送 SIGSTOP 和 SIGCONT 信号将停止作业而不释放其 CPU 以分配给其他作业,在许多情况下将是更可取的机制。如果进行系统维护,您可能希望以以下方式使用挂起/恢复。在挂起之前,将所有节点设置为排空或将所有分区设置为关闭,以便不调度新的作业。然后挂起作业。维护完成后,恢复作业,然后恢复节点和/或将所有分区设置回开启。谨慎使用。只有账户协调员、操作员、管理员、SlurmUser 或 root 可以恢复作业。
注意: 更改某些 DebugFlags 的值在不重新启动 slurmctld 守护进程的情况下将无效,后者将根据 slurm.conf 配置文件的内容或 SLURM_DEBUG_FLAGS 环境变量设置 DebugFlags。环境变量优先于 slurm.conf 中的设置。
如果指定了单元,将显示该单元的信息。unit 关键字可以替换为 switch 或 block(例如 block=b2)。
如果指定了一个节点名称,将显示与该节点连接的所有单元(及其父交换机)。如果指定了多个节点名称,仅显示连接到所有命名节点的单元。
注意:不要在PrologSlurmctld或Prolog中使用scontrol wait_job,或在PrologFlags=Alloc的情况下使用,因为这将导致死锁。
注意:在对数组作业使用wait_job时,使用SLURM_JOB_ID环境变量引用作业,而不是SLURM_ARRAY_JOB_ID变量。
交互命令
注意: 下面列出的所有命令都可以在交互模式中使用,但不能在初始命令行上使用。
- all
- 显示所有分区、它们的作业和作业步骤。这将显示有关配置为隐藏的分区和对用户组不可用的分区的信息。
-
- cluster <CLUSTER_NAME>
- 要发出命令的集群。只能指定一个集群名称。
-
- details
- 导致show命令提供可用的附加详细信息。 作业信息将包括在每个节点上分配的CPU和NUMA内存。 请注意,在启用超线程并且Slurm配置为分配核心的计算机上,每个列出的CPU代表一个物理核心。 该核心上的每个超线程可以分配一个单独的任务,因此作业的CPU计数和任务计数可能不同。 有关更多信息,请参见srun手册页中的--cpu-bind和--mem-bind选项描述。 details选项目前仅支持show job命令。
-
- exit
- 终止scontrol交互会话。
-
- hide
- 不显示配置为隐藏的分区或对用户组不可用的分区的作业、作业或作业步骤信息。 这是默认行为。
-
- oneliner
- 每条记录打印一行信息。
-
- quiet
- 不打印警告或信息消息,仅打印致命错误消息。
-
- quit
- 终止scontrol的执行。
-
- verbose
- 打印详细事件日志。 这包括数据结构的时间戳、记录计数等。
-
- !!
- 重复最后执行的命令。
-
作业 - 更新命令的规范
请注意,root、Slurm用户或管理员进行的更新请求不受某些限制的约束。例如,如果管理员更改了待处理作业的QOS,则某些限制(如TimeLimit)将不会自动更改,因为管理员所做的更改被允许违反这些限制。
- Account=<account>
- 要更改此作业资源使用的账户名称。 可以使用空数据值“Account=”清除该值。
-
- AdminComment=<spec>
- 任意描述性字符串。只能由Slurm管理员设置。
-
- ArrayTaskThrottle=<count>
- 指定作业数组中可以同时执行的最大任务数。 将计数设置为零以消除任何限制。 作业数组的任务节流计数作为其ArrayTaskId字段的一部分报告,前面带有百分号。 例如“ArrayTaskId=1-10%2”表示最大运行任务数限制为2。
-
- BurstBuffer=<spec>
- 要更改此作业资源使用的突发缓冲区规范。 可以使用空数据值“BurstBuffer=”清除该值。 格式是突发缓冲区插件特定的。
-
- Clusters=<spec>
- 指定联邦作业可以运行的集群。
-
- ClusterFeatures=<spec>
- 指定联邦集群必须具备的特征,以便提交兄弟作业。如果集群至少具有一个指定特征,Slurm将尝试将兄弟作业提交到该集群。
-
- Comment=<spec>
- 任意描述性字符串。
-
- Contiguous={yes|no}
- 设置作业对连续(连续)节点的分配要求。 可能的值为“YES”和“NO”。 只有Slurm管理员或root可以更改此参数。
-
- CoreSpec=<count>
- 每个节点保留的核心数量供系统使用。 作业将为这些核心收费,但无法使用它们。 如果不受限制,将报告为“*”。
-
- CPUsPerTask=<count>
- 更改CPUsPerTask作业的值。
-
- Deadline=<time_spec>
- 接受形式为HH:MM:SS的时间,以指定作业在特定时间的截止日期(秒是可选的)。 您还可以指定midnight、noon、elevenses(上午11点)、fika(下午3点)或teatime(下午4点),并且您可以在上午或下午的截止日期后加上AM或PM。 您可以使用形式为MMDDYY或MM/DD/YY或MM.DD.YY的日期为作业指定截止日期,或使用YYYY-MM-DD[THH:MM[:SS]]的日期和时间。您还可以给出类似now + count time-units的时间,其中时间单位可以是seconds(默认)、minutes、hours、days或weeks,并且您可以告诉Slurm在明天设置截止日期,使用关键字tomorrow。 指定的截止日期必须晚于当前时间。 只有待处理作业可以更新截止日期。 只有Slurm管理员或root可以更改此参数。
-
- DelayBoot=<time_spec>
- 更改决定是否重新启动节点以满足作业特征规范的时间,如果作业在此时间段内有资格运行。请参见salloc/sbatch手册页选项--delay-boot。
-
- Dependency=<dependency_list>
- 推迟作业的启动,直到满足指定的作业依赖规范。一旦满足依赖关系,它将从作业中删除。 使用空依赖列表(例如“Dependency=”)取消依赖。 <dependency_list>的形式为<type:job_id[:job_id][,type:job_id[:job_id]]>。 许多作业可以共享相同的依赖关系,这些作业甚至可以属于不同的用户。
-
-
- after:job_id[:jobid...]
- 此作业可以在指定作业开始执行或被取消后开始执行。
-
- afterany:job_id[:jobid...]
- 此作业可以在指定作业终止后开始执行。
-
- afternotok:job_id[:jobid...]
- 此作业可以在指定作业以某种失败状态(非零退出代码、节点故障、超时等)终止后开始执行。 此依赖关系必须在指定作业仍处于活动状态时添加,或在指定作业结束后的MinJobAge秒内添加。
-
- afterok:job_id[:jobid...]
- 此作业可以在指定作业成功执行(以零退出代码完成)后开始执行。 此依赖关系必须在指定作业仍处于活动状态时添加,或在指定作业结束后的MinJobAge秒内添加。
-
- singleton
- 此作业可以在任何先前启动的共享相同作业名称和用户的作业终止后开始执行。 换句话说,任何时候只能有一个该名称且由该用户拥有的作业处于运行或挂起状态。
-
注意:具有任意分配的作业的分配节点不能更新。
注意:具有任意分配的作业的节点计数不能更新。
注意:默认情况下,StdErr将合并到StdOut中。
注意:默认情况下,StdIn将为“/dev/null”。
注意:默认情况下,StdOut将基于JobId。
-
关于日期/时间规范的说明:
- 尽管代码允许HH:MM:SS时间规范的“秒”字段,但请注意,Slurm调度程序的轮询时间不够精确,无法保证在确切的秒数上调度作业。作业将在指定时间之后的下一个轮询中有资格启动。确切的轮询间隔取决于Slurm调度程序(例如,默认调度/内置为60秒)。
- 如果未指定时间(HH:MM:SS),则默认值为(00:00:00)。
- 如果指定了没有年份的日期(例如,MM/DD),则假定为当前年份,除非MM/DD和HH:MM:SS的组合在该年份已经过去,在这种情况下使用下一年。
作业 - 显示命令的规范
“show”命令在与“job”或“job <jobid>”实体一起使用时,显示有关作业或作业的详细信息。许多信息可以使用上述描述的“update job”命令进行修改。然而,show job命令显示的以下字段是只读的,无法修改:
- AllocNode:Sid
- 进行资源分配的本地节点和系统ID。
-
- BatchFlag
- 使用sbatch命令提交的作业的BatchFlag设置为1。如果由于故障而重新排队,BatchFlag将增加到1以上。使用其他命令提交的作业的BatchFlag设置为0,不会增加。
-
- ExitCode=<exit>:<sig>
- wait()函数报告的作业退出状态。第一个数字是退出代码,通常由exit()函数设置。第二个数字是导致进程终止的信号,如果是由信号终止的。
-
- GroupId
- 提交作业的组。
-
- JobState
- 作业的当前状态。
-
- NodeListIndices
- NodeIndices暴露了与分配给作业的节点相关的节点表的内部索引。
-
- NtasksPerN:B:S:C=<tasks_per_node>:<tasks_per_baseboard>:<tasks_per_socket>:<tasks_per_core>
- 指定每个硬件组件(节点、主板、插槽和核心)要启动的任务数。未约束的值可能显示为“0”或“*”。
-
- PreemptEligibleTime
- 作业变得可以被抢占的时间。由slurm.conf中的全局选项或作业QOS的PreemptExemptTime修改。如果作业尚未开始或PreemptMode=OFF,则此项将被隐藏。
-
- PreemptTime
- 作业被通知选择抢占的时间。此值仅对PreemptMode=CANCEL和PreemptMode=REQUEUE以及在具有指定GraceTime值的分区或QOS中的作业有意义。如果作业尚未开始或PreemptMode=OFF,则此项将被隐藏。
-
- PreSusTime
- 作业在最后一次挂起之前运行的时间。
-
- Reason
- 调度程序未启动作业的原因:例如,等待“资源”。有关作业原因代码的详细信息,请访问此页面:<https://slurm.schedmd.com/job_reason_codes.html>
-
- ReqB:S:C:T=<baseboard_count>:<socket_per_baseboard_count>:<core_per_socket_count>:<thread_per_core_count>
- 指定作业请求的各种硬件组件的数量。未约束的值可能显示为“0”或“*”。
-
- SecsPreSuspend=<seconds>
- 如果作业被挂起,这是作业在被挂起之前累积的运行时间(以秒为单位)。
-
- SegmentSize=<size>
- 作业请求的段大小。
-
- Socks/Node=<count>
- 每个节点所需的插槽数量
-
- SubmitTime
- 作业提交的时间和日期戳(以当地时间)。输出格式与EndTime字段的格式相同。
注意:如果作业被重新排队,提交时间将被重置。要获取原始提交时间,必须使用“sacct -j <job_id[.<step_id>]"命令,同时指定-D或--duplicate选项以显示作业的所有重复条目。
-
- SuspendTime
- 作业最后一次挂起或恢复的时间。
关于各种作业状态显示的信息的注意事项: 当您提交“show job”功能的请求时,scontrol进程向slurmctld发出带有REQUEST_JOB_INFO消息类型的RPC请求调用。如果作业的状态为PENDING,则返回一些详细信息,例如:min_nodes、min_procs、cpus_per_task等。如果状态不是PENDING,则代码假定它处于更进一步的状态,例如RUNNING、COMPLETE等。在这些情况下,代码明确返回这些值为零。一旦作业资源被分配并且作业已启动,这些值就没有意义。
-
步骤 - 更新命令的规范
- StepId=<job_id>[.<step_id>]
- 识别要更新的步骤。如果给定job_id,但未指定step_id,则将修改识别的作业的所有步骤。此规范是必需的。
-
- TimeLimit=<time>
- 作业的时间限制。输出格式为[days-]hours:minutes:seconds或“UNLIMITED”。输入格式(对于update命令)设置为分钟、分钟:秒、小时:分钟:秒、天-小时、天-小时:分钟或天-小时:分钟:秒。时间分辨率为一分钟,秒值向上舍入到下一个分钟。如果更改步骤的时间限制,则必须指定新的时间限制值,或在时间前加上“+”或“-”以增加或减少当前时间限制(例如“TimeLimit=+30”)。为了增加或减少当前时间限制,StepId规范必须在TimeLimit规范之前。
-
节点 - 创建命令的规范
提供与slurm.conf中找到的相同NodeName配置。有关详细信息,请参阅slurm.conf手册页。仅允许State=CLOUD和State=FUTURE节点。
节点 - 更新命令的规范
- NodeName=<name>
- 识别要更新的节点。可以使用简单的节点范围表达式(例如“lx[10-20]”)指定多个节点名称。节点集也可以单独指定或与节点范围表达式混合,使用逗号作为列表分隔符。如果单独指定关键字“ALL”,则将尝试对本地集群中的所有节点进行更新。此规范是必需的。
-
- ActiveFeatures=<features>
- 识别当前在指定节点上活动的特性。任何先前活动的特性规范将被新值覆盖。另请参见AvailableFeatures。通常ActiveFeatures将与AvailableFeatures相同;然而ActiveFeatures可能被配置为AvailableFeatures的子集。例如,一个节点可能以多种配置启动。在这种情况下,所有可能的配置可能被识别为AvailableFeatures,而ActiveFeatures将识别当前节点配置。使用scontrol更新ActiveFeatures时,变更仅在slurmctld中进行。当使用node_features插件时,必须在节点上更新节点的状态/特性,以便新的节点启动将报告更新的状态/特性。
-
- AvailableFeatures=<features>
- 识别指定节点上可用的特性。任何先前定义的可用特性规范将被新值覆盖。通过scontrol分配的AvailableFeatures仅在使用-R选项重新启动slurmctld守护进程并保留状态文件时持久存在,或者在slurmctld收到SIGHUP时。更新slurm.conf以进行任何希望在正常重启slurmctld或执行scontrol reconfig时持久化的更改。
注意:通过scontrol删除的可用特性必须处于非活动状态(即先从ActiveFeatures中删除它们)。
-
- CertToken=<token>
- 由certmgr插件接口使用的唯一令牌字符串,用于验证节点身份。
-
- Comment=<comment>
- 任意描述字符串。使用引号括起包含多个单词的注释
-
- CpuBind=<node>
- 指定此节点默认使用的任务绑定模式。支持的选项包括:“none”、“socket”、“ldom”(NUMA)、“core”、“thread”和“off”(移除先前的绑定模式)。
-
- Extra=<comment>
- 节点上的任意字符串。使用引号括起包含多个单词的字符串。有关更多详细信息,请参见<https://slurm.schedmd.com/extra_constraints.html>。
-
- Gres=<gres>
- 识别与指定节点关联的通用资源。任何先前定义的通用资源将被新值覆盖。多个通用资源的规范应以逗号分隔。每个资源规范由名称后跟可选的冒号和数字值(默认值为1)(例如“Gres=bandwidth:10000”)组成。除非将其计数设置为零,否则不允许修改与特定文件(例如GPU)相关联的GRES计数。要将GRES计数更改为其他值,请修改您的slurm.conf和gres.conf文件并重新启动守护进程。如果GRES与特定插槽相关联,则该信息将被报告。例如,如果节点上的所有4个GPU都与插槽零相关联,则“Gres=gpu:4(S:0)”。如果与插槽0和1相关联,则“Gres=gpu:4(S:0-1)”。与特定GPU相关联的具体GPU的信息未被报告,但仅通过解析gres.conf文件可用。通过scontrol分配的通用资源仅在使用-R选项重新启动slurmctld守护进程并保留状态文件时持久存在,或在slurmctld收到SIGHUP时。更新slurm.conf以进行任何希望在正常重启slurmctld或执行scontrol reconfig时持久化的更改。
-
- InstanceId=<instance_id>
- 云实例ID。
-
- InstanceType=<instance_type>
- 云实例类型。
-
- NodeAddr=<node address>
- 节点在建立通信路径时应引用的名称。此名称将用作getaddrinfo()函数的参数以进行识别。如果使用节点范围表达式指定多个节点,则它们必须与NodeName中的条目完全匹配(例如“NodeName=lx[0-7] NodeAddr=elx[0-7]”)。NodeAddr还可以包含IP地址。
-
- NodeHostname=<node hostname>
- 通常这是“/bin/hostname -s”返回的字符串。它也可以是“/bin/hostname -f”返回的完全合格域名(例如“foo1.bar.com”),或与主机通过主机数据库(/etc/hosts)或DNS关联的任何有效域名,具体取决于解析器设置。请注意,如果未使用主机名的短形式,则可能会阻止使用主机列表表达式(方括号中的数字部分必须位于字符串的末尾)。可以使用节点范围表达式指定一组节点。如果使用表达式,则NodeHostname识别的节点数量必须与NodeName识别的节点数量相同。
-
- Reason=<reason>
- 识别节点处于“DOWN”、“DRAINED”、“DRAINING”、“FAILING”或“FAIL”状态的原因。使用引号括起包含多个单词的原因。
-
- ResumeAfter=<seconds>
- 在节点状态更新为“DOWN”或“DRAIN”后,安排节点状态恢复的秒数。在状态恢复时,节点的状态将从DRAIN、DRAINING、DOWN或REBOOT更改为IDLE和NoResp。slurmctld将尝试联系slurmd请求节点注册自身。
注意:值为-1将取消节点状态恢复的安排。
-
- State=<state>
- 将以下状态/操作之一分配给通过更新命令指定的节点。
-
-
- CANCEL_REBOOT
- 取消节点上的待处理重启(与scontrol cancel_reboot <node>相同)。
-
- DOWN
- 停止所有正在运行和挂起的作业,并使节点无法接受新作业。
-
- DRAIN
- 指示此节点上不允许启动新作业。允许现有作业运行到完成,完成后将节点置于DRAINED状态。
-
- FAIL
- 类似于DRAIN,但某些应用程序会在作业完成之前寻求放弃这些节点。
-
- FUTURE
- 指示节点尚未完全配置,但预计在未来某个时刻可用。
-
- IDLE
- 将清除DOWN、DRAIN和FAIL状态。将状态设置为IDLE和NoResp。slurmctld将尝试联系slurmd请求节点注册自身。一旦注册,节点状态将移除NoResp标志,并恢复正常操作。
-
- NoResp
- 这将为节点设置“未响应”标志,而不改变其底层状态。
-
- RESUME
- 不是实际的节点状态,但将节点状态从DRAIN、DRAINING、DOWN或REBOOT更改为IDLE和NoResp。slurmctld将尝试联系slurmd请求节点注册自身。一旦注册,节点状态将移除NoResp标志,并恢复正常操作。它还将清除节点的POWERING_DOWN状态,使其有资格被分配。
-
- UNDRAIN
- 清除节点的排水状态(类似于RESUME),但不会改变节点的基本状态(例如DOWN)。UNDRAIN需要有效的节点注册,才能在节点上调度新作业。将节点设置为DOWN将导致该节点上所有正在运行和挂起的作业被终止。
-
虽然上述所有状态都是有效的,但其中一些在其先前状态下不是有效的新节点状态。
注意:不应使用scontrol命令在Cray系统上更改节点状态。请使用Cray工具,例如xtprocadmin。
节点 - 删除命令的规范
- NodeName=<nodes>
- 识别要删除的节点。可以使用简单的节点范围表达式(例如“lx[10-20]”)指定多个节点名称。节点集也可以单独指定或与节点范围表达式混合,使用逗号作为列表分隔符。如果单独指定关键字“ALL”,则将尝试对本地集群中的所有节点进行更新。此规范是必需的。
-
节点 - 显示命令的规范
- AllocMem
- 当前由节点上的作业分配的总内存(以MB为单位)。
-
- CPULoad
- 操作系统报告的节点CPU负载。
-
- CPUSpecList
- 此节点上保留供Slurm计算节点守护进程(slurmd、slurmstepd)独占使用的Slurm抽象CPU ID列表。
-
- FreeMem
- 操作系统报告的当前节点上总共可用的内存(以MB为单位)。
-
- LastBusyTime
- 节点最后一次忙碌的时间(即节点上最后一次有作业的时间)。此时间用于PowerSave以确定何时挂起节点(例如,现在 - LastBusy > SuspendTime)。
-
- MemSpecLimit
- 此节点上Slurm计算节点守护进程(slurmd、slurmstepd)的组合内存限制(以MB为单位)。
-
- RealMemory
- 节点上的总内存(以MB为单位)。
-
- State
- 识别分配给节点的状态,使用“+”分隔状态标志。
状态:
标志:
-
- CLOUD
- 指示节点被配置为云节点,以便按需启动,但当前未运行。
-
- COMPLETING
- 指示节点上的唯一作业或所有作业正在完成的过程中。
-
- DRAIN
- 节点不接受任何新作业,任何当前正在运行的作业将完成。
-
- DYNAMIC
- Slurm允许您在FUTURE状态下定义多种类型的节点。启动slurmd时,可以指定-F标志以使节点匹配并使用slurm.conf文件中的现有定义。DYNAMIC状态指示节点作为动态未来节点启动。
-
- INVALID_REG
- 节点未正确注册到控制器。这发生在节点以少于在slurm.conf文件中配置的资源注册时。节点将通过有效注册清除此状态(即需要重新启动slurmd)。
-
- MAINTENANCE
- 节点当前处于包含maintenance标志的保留状态。
-
- NOT_RESPONDING
- 节点未响应。
-
- PERFCTRS
- 指示与此节点相关的网络性能计数器正在使用,使该节点无法用于其他作业。
-
- POWER_DOWN
- 节点待电源关闭。
-
- POWERED_DOWN
- 节点当前已关闭电源,无法运行任何作业。
-
- POWERING_DOWN
- 节点正在关闭电源的过程中。
-
- POWERING_UP
- 节点正在启动的过程中。
-
- PLANNED
- 节点被指定用于将来启动的作业。
-
- REBOOT_ISSUED
- 已向配置为处理此请求的代理发送重启请求。
-
- REBOOT_REQUESTED
- 已请求重启此节点,但尚未处理。
-
- RESERVED
- 指示节点处于高级保留状态,通常不可用。
如果报告的值为“n/s”(不支持),则节点不支持配置的AcctGatherEnergyType插件。如果报告的值为零,则禁用节点的能源计量。
分区 - 创建、更新和删除命令的规范
- AllocNodes=<name>
- 用户可以在分区中执行作业的节点的逗号分隔列表。节点名称可以使用上述描述的节点范围表达式语法指定。默认值为“ALL”。
-
- AllowAccounts=<name>
- 可以在分区中执行作业的账户的逗号分隔列表。默认值为“ALL”。此列表是分层的,意味着子账户会自动包含。注意:如果使用AllowAccounts,则不会强制执行DenyAccounts。另请参阅DenyAccounts。
-
- AllowGroups=<name>
- 识别可以使用此分区的用户组。可以在逗号分隔的列表中指定多个组。要允许所有组使用该分区,请指定“AllowGroups=ALL”。
-
- AllowQOS=<name>
- 识别可以使用此分区的QOS。可以在逗号分隔的列表中指定多个QOS。要允许所有QOS使用该分区,请指定“AllowQOS=ALL”。
-
- Alternate=<partition name>
- 如果此分区的状态为“DRAIN”或“INACTIVE”,则使用的备用分区。值“NONE”将清除先前设置的备用分区。
-
- CpuBind=<node>
- 指定此分区默认使用的任务绑定模式。支持的选项包括:“none”、“socket”、“ldom”(NUMA)、“core”、“thread”和“off”(移除先前的绑定模式)。
-
- Default={yes|no}
- 指定此分区是否应由未明确指定要使用的分区的作业使用。可能的输出值为“YES”和“NO”。要更改正在运行的系统的默认分区,请使用scontrol update命令并将Default=yes设置为您希望成为新默认值的分区。
-
- DefaultTime=<time>
- 未指定值的作业使用的运行时间限制。如果未设置,则将使用MaxTime。格式与MaxTime相同。
-
- DefMemPerCPU=<MB>
- 为此分区中的作业设置每个CPU分配的默认内存。内存大小以兆字节为单位指定。
-
- DefMemPerNode=<MB>
- 为此分区中的作业设置每个节点分配的默认内存。内存大小以兆字节为单位指定。
-
- DenyAccounts=<name>
- 逗号分隔的账户列表,这些账户不得在分区中执行作业。默认情况下,没有账户被拒绝访问。此列表是分层的,意味着子账户会自动包含。注意:如果使用AllowAccounts,则不会强制执行DenyAccounts。另请参阅AllowAccounts。
-
- DenyQOS=<name>
- 识别应被拒绝访问此分区的QOS。可以在逗号分隔的列表中指定多个QOS。
-
- DisableRootJobs={yes|no}
- 指定作业是否可以作为root用户执行。可能的值为“YES”和“NO”。
-
- ExclusiveUser={yes|no}
- 启用时,节点将专门分配给用户。可以同时运行多个作业,但这些作业必须来自单个用户。
-
- GraceTime=<seconds>
- 指定以秒为单位的抢占宽限时间,以延长已选择抢占的作业。默认值为零,表示此分区或QOS不允许抢占宽限时间。(仅对PreemptMode=CANCEL和PreemptMode=REQUEUE有意义)
-
- Hidden={yes|no}
- 指定分区及其作业是否应隐藏。隐藏的分区默认情况下不会被Slurm API或命令报告。可能的值为“YES”和“NO”。
-
- JobDefaults=<specs>
- 使用逗号分隔的“key=value”对指定作业默认值。支持的键包括
另请参见 SuspendTime。
预留 - 创建、更新和删除命令的规范
- ReservationName=<name>
- 确定要创建、更新或删除的预留名称。此参数在更新时是必需的,并且是删除时的唯一参数。对于创建,如果您不想给出预留名称,请使用 "scontrol create reservation ...",将自动创建一个名称。
-
- Accounts=<account list>
- 允许使用保留节点的帐户列表,例如 "Accounts=physcode1,physcode2"。在任何指定帐户或子帐户中的用户可以使用保留节点。新的预留必须指定用户或组和/或帐户。如果同时指定用户/组和帐户,则作业必须同时匹配才能使用预留。帐户也可以通过在所有帐户名称前加 '-' 来拒绝访问预留。或者在等号前加 '-'。例如,"Accounts=-physcode1,-physcode2" 或 "Accounts-=physcode1,physcode2" 将允许除 physcode1 和 physcode2 之外的任何帐户使用该预留。您可以通过使用更新命令并在 '=' 符号前添加 '+' 或 '-' 符号来添加或移除现有预留中的单个帐户。如果帐户被拒绝访问预留(帐户名称前加 '-'),则所有其他帐户隐式允许使用该预留,并且无法显式指定允许的帐户。Root 和 SlurmUser 被授予对所有预留的访问权限,无论此处设置的帐户如何。
-
- BurstBuffer=<buffer_spec>[,<buffer_spec>,...]
- 要保留的突发缓冲区资源的规范。"buffer_spec" 由四个元素组成:[plugin:][type:]#[units]。"plugin" 是突发缓冲区插件名称,目前为 "datawarp" 或 "generic"。如果未指定插件,则预留适用于所有配置的突发缓冲区插件。"type" 指定 Cray 通用突发缓冲区资源,例如 "nodes"。如果未指定 "type",则数字是存储空间的度量。"units" 可以是 "N"(节点)、"K|KiB"、"M|MiB"、"G|GiB"、"T|TiB"、"P|PiB"(以 1024 为底的幂)和 "KB"、"MB"、"GB"、"TB"、"PB"(以 1000 为底的幂)。默认单位为字节,用于存储空间的预留。例如 "BurstBuffer=datawarp:2TB"(保留 2TB 的存储加上 3 个来自 Cray 插件的节点)或 "BurstBuffer=100GB"(从所有配置的突发缓冲区插件保留 100 GB 的存储)。使用此预留的作业不受这些突发缓冲区资源的限制,但可以使用这些保留的资源加上任何通常可用的资源。注意:通常 Slurm 将 KB、MB、GB、TB、PB 单位解释为以 1024 为底的幂,但对于突发缓冲区大小规范,Slurm 支持 IEC/SI 格式。这是因为用于管理 DataWarps 的 CRAY API 支持这两种格式。
-
- CoreCnt=<num>
- 仅在使用 select/cons_tres 时支持此选项。确定要保留的核心数量。如果使用 NodeCnt 或 Nodelist,则这是要保留的核心总数,其中每个节点的核心数为 CoreCnt/NodeCnt。
-
- Licenses=<license>
- 要保留的许可证(或集群所有节点上可用的其他资源)的规范。许可证名称可以后跟冒号和计数(默认计数为 1)。多个许可证名称应以逗号分隔(例如 "Licenses=foo:4,bar")。新的预留必须指定一个或多个资源以包含:NodeCnt、Nodes 和/或 Licenses。如果预留包括许可证,但没有 NodeCnt 或 Nodes,则还必须指定选项 Flags=LICENSE_ONLY。使用此预留的作业不受这些许可证的限制,但可以使用这些保留的许可证加上任何通常可用的许可证。
-
- MaxStartDelay[=<timespec>]
- 更改 MaxStartDelay 值,该值指定不请求此预留的合格作业可以延迟请求此预留的作业的最大时间。默认值为无。有效格式为分钟、分钟:秒、小时:分钟:秒、天-小时、天-小时:分钟、天-小时:分钟:秒。时间分辨率为一分钟,秒值向上舍入到下一个分钟。输出格式始终为 [天-]小时:分钟:秒。
-
- NodeCnt=<num>[,<num>,...]
- 确定要保留的节点数量。该数字可以包含后缀 "k" 或 "K",在这种情况下,指定的数字乘以 1024。新的预留必须指定一个或多个资源以包含:NodeCnt、Nodes 和/或 Licenses。
-
- Nodes=<name>
- 确定要保留的节点。可以使用简单的节点范围表达式(例如 "Nodes=lx[10-20]")指定多个节点名称。当使用 Nodes 指定更多或更少的节点时,NodeCnt 将更新以尊重新的节点数。但是,当设置空列表("Nodes=")时,节点列表将填充随机节点以满足先前的节点计数,并且 SPEC_NODES 标志将被移除。新的预留必须指定一个或多个资源以包含:NodeCnt、Nodes 和/或 Licenses。指定 "ALL" 将保留所有节点。设置 Flags=PART_NODES 和 PartitionName= 以便与分区关联的节点的更改也反映在与预留关联的节点中。您可以通过在 '=' 符号前添加 '+' 或 '-' 符号来添加或移除现有预留中的节点。如果您想同时移除 lx[2-4] 并添加 lx0,可以使用 nodes=+lx0,-lx[2-4]。
注意:更新预留时,如果同时设置 Nodes 和 Nodecnt,则始终尊重 nodecnt。如果节点数 > nodecnt,预留将获得节点的子集,或者如果节点数 < nodecnt,则将向列表中添加额外的节点。
-
- StartTime=<time_spec>
- 预留的开始时间。新的预留必须指定开始时间。它接受 HH:MM:SS 形式的时间,表示一天中的特定时间(秒是可选的)。如果该时间已经过去,则假定为第二天。您还可以指定 midnight、noon、elevenses(上午 11 点)、fika(下午 3 点)或 teatime(下午 4 点),并且您可以在早上或晚上运行时将时间后缀为 AM 或 PM。您还可以指定作业将运行的日期,格式为 MMDDYY 或 MM/DD/YY 或 MM.DD.YY,或日期和时间为 YYYY-MM-DD[THH:MM[:SS]]。您还可以给出类似 now + count time-units 的时间,其中时间单位可以是 seconds(默认)、minutes、hours、days 或 weeks,并且您可以告诉 Slurm 今天运行作业,使用关键字 today,并使用关键字 tomorrow 运行作业。您无法更新处于 ACTIVE 状态的预留的 StartTime。
-
- EndTime=<time_spec>
- 预留的结束时间。新的预留必须指定结束时间或持续时间。有效格式与 StartTime 相同。
-
- Duration=<time>
- 预留的长度。新的预留必须指定结束时间或持续时间。有效格式为分钟、分钟:秒、小时:分钟:秒、天-小时、天-小时:分钟、天-小时:分钟:秒,或 UNLIMITED。时间分辨率为一分钟,秒值向上舍入到下一个分钟。输出格式始终为 [天-]小时:分钟:秒。
-
- PartitionName=<name>
- 用于保留节点的分区。此操作将尝试分配指定分区中的所有节点,除非您请求的资源少于 CoreCnt、NodeCnt 或 TRES 中可用的资源。如果在提交时未指定分区,则此分区将覆盖作业的默认分区。显式请求不同分区的作业仍然可以使用该预留,只要两个分区之间有足够的重叠节点以分配作业。
-
- Flags=<flags>
- 与预留相关的标志。您可以通过在 '=' 符号前添加 '+' 或 '-' 符号来添加或移除现有预留中的单个标志。例如:Flags-=DAILY (注意:此快捷方式并不适用于所有标志)。当前支持的标志包括:
-
-
- ANY_NODES
- 这是仅用于突发缓冲区和/或许可证的预留,而不是计算节点。如果设置此标志,使用此预留的作业可以使用关联的突发缓冲区和/或许可证加上任何计算节点。如果未设置此标志,使用此预留的作业只能使用与预留关联的节点和许可证。
-
- DAILY
- 每天在同一时间重复预留。
-
- FLEX
- 允许请求预留的作业在预留开始之前开始,在预留结束之后结束,并使用预留内和/或外的任何资源,而不考虑在预留中可能设置的任何限制。一个典型的用例是防止未显式请求预留的作业使用那些保留的资源,而不是强制请求预留的作业在预留的时间范围内使用这些资源。另一个用例可能是始终为特定帐户保留特定特征的特定数量的节点,以便该帐户中的用户可以使用这些节点以及可能没有此特征的其他节点。
-
- FORCE_START
- 允许重复预留在过去的开始时间,因此不要求重复预留提前一天进行。此标志必须与重复预留标志一起使用。
-
- IGNORE_JOBS
- 在创建预留时忽略当前正在运行的作业。这在为维护保留系统中的所有节点时特别有用。
-
- HOURLY
- 每小时在同一时间重复预留。
-
- LICENSE_ONLY
- 参见 ANY_NODES。
-
- MAINT
- 维护模式,获得特殊的会计处理。此预留被允许使用已经在另一个预留中的资源。MAINT 标志的行为类似于 STATIC_ALLOC(见下文),即一旦设置节点将不再更改。
-
- MAGNETIC
- 此标志允许作业被视为此预留,即使它们没有请求它。
-
- NO_HOLD_JOBS_AFTER
- 默认情况下,当预留结束时,预留请求将从任何提交到预留的待处理作业中删除,并将其置于保持状态。使用此标志允许作业在预留结束后在预留之外运行。标志移除使用 '-=' 不受支持。
-
- OVERLAP
- 此预留可以分配已经在另一个预留中的资源。标志移除使用 '-=' 不受支持。
-
- PART_NODES
- 此标志可用于保留指定分区内的所有节点。必须与此标志一起指定 PartitionName 和 Nodes=ALL。
-
- PURGE_COMP[=<timespec>]
- 如果预留在任何时候空闲(没有与其关联的作业),则清除该预留。如果未给出 timespec,则默认值为 5 分钟。有效的 timespec 格式为分钟、分钟:秒、小时:分钟:秒、天-小时、天-小时:分钟、天-小时:分钟:秒。时间分辨率为一分钟,秒值向上舍入到下一个分钟。输出格式始终为 [天-]小时:分钟:秒。
-
- REPLACE
- 处于 DOWN、DRAINED 或分配给作业的节点会自动使用空闲资源进行补充。此选项可用于保持可用于待处理作业的空闲资源的恒定数量(受空闲资源可用性的限制)。应与 NodeCnt 预留选项一起使用;不要指定要包含在预留中的特定节点。标志移除使用 '-=' 不受支持。
注意:在具有 REPLACE 标志的预留中从集群中移除节点不会导致其被替换。
-
- REPLACE_DOWN
- 处于 DOWN 或 DRAINED 状态的节点会自动使用空闲资源进行补充。这是默认行为。此选项可用于保持可用于待处理作业的恒定大小的资源池(受空闲资源可用性的限制)。应与 NodeCnt 预留选项一起使用;不要指定要包含在预留中的特定节点。标志移除使用 '-=' 不受支持。
注意:在具有 REPLACE_DOWN 标志的预留中从集群中移除节点不会导致其被替换。
-
- SPEC_NODES
- 预留特定节点(仅输出)。
-
- STATIC_ALLOC
- 确保在为预留选择节点后,它们不会更改。没有此选项时,当为预留选择节点且有一个节点出现故障时,预留将选择一个新节点来填补该位置。
-
- TIME_FLOAT
- 预留开始时间相对于当前时间,并向前推进(例如,StartTime=now+10minutes 将始终是未来 10 分钟)。不支持重复(例如 DAILY)浮动预留。标志不能添加到现有预留中,也不能从中移除。
-
- USER_DELETE
- 允许任何能够在预留中运行的用户删除它。
-
- WEEKDAY
- 在每个工作日(星期一、星期二、星期三、星期四和星期五)在同一时间重复预留。
-
- WEEKEND
- 在每个周末(星期六和星期日)在同一时间重复预留。
-
- WEEKLY
- 每周在同一时间重复预留。
-
可以使用空数据值清除值,"Features="。
License/<name1>=<count1>[,License/<name2>=<count2>,...]
BurstBuffer 可以以与 BurstBuffer 参数类似的方式指定。唯一的区别是冒号符号 ':' 应该用等号 '=' 替换,以遵循 TRES 格式。
一些有效的 TRES 规范示例:
TRES=cpu=5,bb/cray=4,license/iop1=1,license/iop2=3
TRES=node=5k,license/iop1=2
TRES=gres/gpu:a100=2
请注意,CPU、Node、License 和 BB 可以分别覆盖 CoreCnt、NodeCnt、Licenses 和 BurstBuffer 参数。此外,CPU 表示预留中的 CoreCnt,并且如果您的节点上有每个核心的线程,则会进行调整。
请注意,包含节点或核心的预留与一个分区相关联,并且不能跨多个分区跨越资源。唯一的例外是当预留是使用显式请求的节点创建时。
请注意,如果请求 GRES,则这些 GRES 必须在 AccountingStorageTRES 中列出才能有效。
注意:预留将自动尝试在 GRES 上强制绑定。多个 GRES 不能跨多个插槽保留。
TRESPerNode=gres/gpu:a100=2
上述将为每个节点分配 2 个 gpu:a100,如 Nodecnt 中指定的那样。
性能
执行 scontrol 会向 slurmctld 发送远程过程调用。如果来自 scontrol 或其他向 slurmctld 守护进程发送远程过程调用的 Slurm 客户端命令的调用过于频繁,可能会导致 slurmctld 守护进程的性能下降,可能导致服务拒绝。
请勿在 shell 脚本或其他程序的循环中运行 scontrol 或其他发送远程过程调用到 slurmctld 的 Slurm 客户端命令。确保程序将对 scontrol 的调用限制为收集信息所需的最小值。
环境变量
某些 scontrol 选项可以通过环境变量设置。这些环境变量及其对应的选项如下所示。(注意:命令行选项将始终覆盖这些设置。)
- SCONTROL_ALL
- -a, --all
-
- SCONTROL_FEDERATION
- --federation
-
- SCONTROL_FUTURE
- -F, --future
-
- SCONTROL_LOCAL
- --local
-
- SCONTROL_SIBLING
- --sibling
-
- SLURM_BITSTR_LEN
- 指定用于保存作业数组任务 ID 表达式的字符串长度。默认值为 64 字节。值为 0 将打印所需的任何长度的完整表达式。较大的值可能会对应用程序性能产生不利影响。
-
- SLURM_CLUSTERS
- 与 --clusters 相同
-
- SLURM_CONF
- Slurm 配置文件的位置。
-
- SLURM_CONF_OUT
- 运行 'write config' 时,要写入的 Slurm 配置文件的位置。
-
- SLURM_DEBUG_FLAGS
- 指定 scontrol 使用的调试标志。有关完整的标志列表,请参见 slurm.conf(5) 手册页。环境变量优先于 slurm.conf 中的设置。
-
- SLURM_JSON
- 控制 JSON 序列化:
还可以指定有效的 strftime() 格式。例如,值为 "%a %T" 将报告星期几和时间戳(例如 "Mon 12:34:56")。
授权
使用 SlurmDBD 时,具有定义的 AdminLevel(操作员或管理员)和帐户协调员的用户被授予查看和修改作业、预留、节点等的权限,如下表所示 - 无论 slurm.conf 文件中是否定义了 PrivateData 限制。
scontrol show job(s): 管理员、操作员、协调员
scontrol update job: 管理员、操作员、协调员
scontrol requeue: 管理员、操作员、协调员
scontrol show step(s): 管理员、操作员、协调员
scontrol update step: 管理员、操作员、协调员
scontrol show node: 管理员、操作员
scontrol update node: 管理员
scontrol create partition: 管理员
scontrol show partition: 管理员、操作员
scontrol update partition: 管理员
scontrol delete partition: 管理员
scontrol create reservation: 管理员、操作员
scontrol show reservation: 管理员、操作员
scontrol update reservation: 管理员、操作员
scontrol delete reservation: 管理员、操作员
scontrol reconfig: 管理员
scontrol shutdown: 管理员
scontrol takeover: 管理员
示例
$ scontrol scontrol: show part debug PartitionName=debug AllowGroups=ALL AllowAccounts=ALL AllowQos=ALL AllocNodes=ALL Default=YES QoS=N/A DefaultTime=NONE DisableRootJobs=NO ExclusiveUser=NO ExclusiveTopo=NO GraceTime=0 Hidden=NO MaxNodes=UNLIMITED MaxTime=UNLIMITED MinNodes=0 LLN=NO MaxCPUsPerNode=UNLIMITED MaxCPUsPerSocket=UNLIMITED NodeSets=ALL Nodes=snowflake[0-48] PriorityJobFactor=100 PriorityTier=100 RootOnly=NO ReqResv=NO OverSubscribe=NO OverTimeLimit=NONE PreemptMode=REQUEUE State=UP TotalCPUs=588 TotalNodes=49 SelectTypeParameters=NONE JobDefaults=(null) DefMemPerNode=UNLIMITED MaxMemPerNode=UNLIMITED TRES=cpu=588,mem=1204224M,node=49,billing=49 scontrol: update PartitionName=debug MaxTime=60:00 MaxNodes=4 scontrol: show job 71701 JobId=71701 Name=hostname UserId=da(1000) GroupId=da(1000) Priority=66264 Account=none QOS=normal WCKey=*123 JobState=COMPLETED Reason=None Dependency=(null) TimeLimit=UNLIMITED Requeue=1 Restarts=0 BatchFlag=0 ExitCode=0:0 SubmitTime=2010-01-05T10:58:40 EligibleTime=2010-01-05T10:58:40 StartTime=2010-01-05T10:58:40 EndTime=2010-01-05T10:58:40 SuspendTime=None SecsPreSuspend=0 Partition=debug AllocNode:Sid=snowflake:4702 ReqNodeList=(null) ExcNodeList=(null) NodeList=snowflake0 NumNodes=1 NumCPUs=10 CPUs/Task=2 ReqS:C:T=1:1:1 MinCPUsNode=2 MinMemoryNode=0 MinTmpDiskNode=0 Features=(null) Reservation=(null) OverSubscribe=OK Contiguous=0 Licenses=(null) Network=(null) scontrol: update JobId=71701 TimeLimit=30:00 Priority=500 scontrol: show hostnames tux[1-3] tux1 tux2 tux3 scontrol: create res StartTime=2009-04-01T08:00:00 Duration=5:00:00 Users=dbremer NodeCnt=10 Reservation created: dbremer_1 scontrol: update Reservation=dbremer_1 Flags=Maint NodeCnt=20 scontrol: delete Reservation=dbremer_1 scontrol: quit
版权
版权所有 (C) 2002-2007 加州大学理事会。 在劳伦斯利弗莫尔国家实验室制作(参见免责声明)。版权所有 (C) 2008-2010 劳伦斯利弗莫尔国家安全。
版权所有 (C) 2010-2022 SchedMD LLC。
该文件是Slurm资源管理程序的一部分。 有关详细信息,请参见 <https://slurm.schedmd.com/>。
Slurm是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它;许可证的版本为2,或(根据您的选择)任何更高版本。
Slurm的分发希望它能有用,但不提供任何保证;甚至没有对适销性或特定用途适用性的隐含保证。有关更多详细信息,请参见GNU通用公共许可证。
文件
另请参见
scancel(1), sinfo(1), squeue(1), slurm_create_partition (3), slurm_delete_partition (3), slurm_load_ctl_conf (3), slurm_load_jobs (3), slurm_load_node (3), slurm_load_partitions (3), slurm_reconfigure (3), slurm_requeue (3), slurm_resume (3), slurm_shutdown (3), slurm_suspend (3), slurm_takeover (3), slurm_update_job (3), slurm_update_node (3), slurm_update_partition (3), slurm.conf(5), slurmctld(8)
索引
- 名称
- 概要
- 描述
- 选项
- 命令
- 交互式命令
- 作业 - 更新命令的规范
- 作业 - 显示命令的规范
- 步骤 - 更新命令的规范
- 节点 - 创建命令的规范
- 节点 - 更新命令的规范
- 节点 - 删除命令的规范
- 节点 - 显示命令的规范
- 分区 - 创建、更新和删除命令的规范
- 预留 - 创建、更新和删除命令的规范
- 性能
- 环境变量
- 授权
- 示例
- 版权
- 文件
- 另请参见
该文档由 man2html 使用手册页创建。
时间:2025年7月2日 13:21:55 GMT