slurmd

部分:Slurm 守护进程 (8)
更新:Slurm 守护进程
索引

 

名称

slurmd - Slurm 的计算节点守护进程。

 

概要

slurmd [选项...]

 

描述

slurmd 是 Slurm 的计算节点守护进程。它监控计算节点上运行的所有任务,接受工作(任务),启动任务,并根据请求终止正在运行的任务。

 

选项

--authinfo
与无配置一起使用,以设置备用的 AuthInfo 参数,以便在配置文件被检索之前与 slurmctld 建立通信。(例如,指定备用的 MUNGE 套接字位置。)

-b
当守护进程重新启动时报告节点已重启。用于测试目的。

-c
根据需要清除系统锁定。如果 slurmd 异常终止,则可能需要此操作。

-C
打印实际的硬件配置(不是来自 slurm.conf 文件的配置)并退出。 输出格式与在 slurm.conf 中描述节点配置的格式相同,外加其正常运行时间。

--ca-cert-file <file>
在启用 TLS 的集群中运行无配置时用于获取配置的 CA 证书的绝对路径。

--conf <节点参数>
-Z 选项一起使用。用于覆盖或定义动态节点的附加参数,使用与在 slurm.conf 中定义节点相同的语法和参数。指定任何 CPUsBoardsSocketsPerBoardCoresPerSocketThreadsPerCore 将覆盖 -C 选项定义的默认值。NodeNamePort 不受支持。


例如,如果 slurmd -C 报告

NodeName=node1 CPUs=16 Boards=1 SocketsPerBoard=1 CoresPerSocket=8 ThreadsPerCore=2 RealMemory=31848

以下 --conf 规范将生成相应的节点定义:

--conf "Gres=gpu:2"
NodeName=node1 CPUs=16 Boards=1 SocketsPerBoard=1 CoresPerSocket=8 ThreadsPerCore=2 RealMemory=31848 Gres=gpu:2

--conf "RealMemory=30000"
NodeName=node1 CPUs=16 Boards=1 SocketsPerBoard=1 CoresPerSocket=8 ThreadsPerCore=2 RealMemory=30000

--conf "CPUs=16"
NodeName=node1 CPUs=16 RealMemory=331848

--conf "CPUs=16 RealMemory=30000 Gres=gpu:2"
NodeName=node1 CPUs=16 RealMemory=30000 Gres=gpu:2"

--conf-server <host|ip address>[:<port>]
以逗号分隔的控制器列表,第一个为主 slurmctld。可以(可选)为每个控制器指定一个端口。这些主机是 slurnd 在“无配置”模式下获取配置的地方。 注意:如果指定 IPv6 地址,请将 <ip address> 包裹在 [] 中,以区分地址和端口。即使未指定端口,这也是必需的。

-d <file>
指定用于管理用户作业步骤的 slurmstepd 程序的完全合格路径名。这对于测试目的可能很有用。

-D
以前台运行 slurmd,并将日志复制到 stderr。

--extra <任意字符串>
在节点启动时设置“额外”数据。如果这是一个 json 字符串,并且在 slurm.conf 中设置了 SchedulerParameters=extra_constraints,则作业可以使用 --extra 选项根据此“额外”数据进行过滤。

-f <file>
从指定文件读取配置。请参见下面的 注意事项

-F[feature]
将此节点作为动态未来节点启动。它将尝试匹配状态为 FUTURE 的节点定义,可选地使用指定的特征来匹配节点定义。

-G
打印通用资源 (GRES) 配置(基于 slurm.conf GRES 与此节点的 gres.conf 内容合并)并退出。

-h
帮助;打印命令选项的简要摘要。

--instance-id <云实例 ID>
在节点启动时设置云实例 ID。

--instance-type <云实例类型>
在节点启动时设置云实例类型。

-L <file>
将日志消息写入指定文件。

-M
使用 mlockall (2) 将 slurmd 页面锁定到系统内存中,以禁用 slurmd 进程的分页。这可能有助于在节点在大量交换活动期间被标记为 DOWN 的情况下。如果 mlockall (2) 系统调用不可用,将在日志中打印错误,slurmd 将正常继续。

建议在设置 -M 时在 slurm.conf(5) 中设置 LaunchParameters=slurmstepd_memlock

-n <value>
将守护进程的优先级值设置为指定值,通常是负数。还请注意 PropagatePrioProcess 配置参数。

-N <nodename>
使用给定的节点名称运行守护进程。用于模拟每个节点有多个 slurmd 守护进程的更大系统。要求 Slurm 使用 --enable-multiple-slurmd 配置选项构建。

-s
如果可能,将 slurmd 的工作目录更改为 SlurmdLogFile 路径,否则更改为 SlurmdSpoolDir。如果两者都失败,将回退到 /var/tmp。

--systemd
在使用 systemd 启动守护进程时使用。这将允许 slurmd 在使用 'scontrol reconfigure' 时通知 systemd 新的 PID。

-v
详细操作。多个 -v 会增加详细程度。

-V, --version
打印版本信息并退出。

-Z
将此节点作为动态正常节点启动。如果未指定 --conf,则 slurmd 将以 -C 选项定义的相同硬件配置注册。

 

环境变量

以下环境变量可用于覆盖编译到 slurmd 中的设置。

ABORT_ON_FATAL
当检测到致命错误时,使用 abort() 而不是 exit() 来终止进程。这允许在不重新编译 Slurm 的情况下捕获回溯。

SLURM_CONF
Slurm 配置文件的位置。通过在命令行上显式命名配置文件来覆盖此设置。

SLURM_DEBUG_FLAGS
指定 slurmd 使用的调试标志。有关完整的标志列表,请参见 slurm.conf(5) 手册页。环境变量优先于 slurm.conf 中的设置。

 

信号

SIGTERM SIGINT SIGQUIT
slurmd 将干净地关闭。

SIGHUP
重新加载 slurm 配置文件,类似于 'scontrol reconfigure'。

SIGUSR2
从配置中重新读取日志级别,然后重新打开日志文件。这应该在设置 logrotate(8) 时使用。

SIGPIPE
此信号被明确忽略。

 

核心文件位置

如果 slurmd 是使用 -D 选项启动的,则核心文件将写入当前工作目录。 否则,如果 SlurmdLogFile 是完全合格的路径名(以斜杠开头),核心文件将写入与日志文件相同的目录。否则,核心文件将写入 SlurmdSpoolDir 目录,或作为最后的手段写入 “/var/tmp/”。如果上述目录都无法写入,则不会生成核心文件。

 

注意事项

使用不同的 slurmd 特定配置参数(例如超时)进行实验可能会很有用,使用一个独特的配置文件。然而,除非您明确告诉每个守护进程或 Slurm 程序使用它,否则此特殊配置文件将不会被 slurmctld 守护进程或 Slurm 程序使用。如果您希望更改通信端口、临时文件系统的位置或其他 Slurm 组件使用的参数,请更改公共配置文件 slurm.conf

如果您使用无配置模式,并且登录节点运行大量客户端命令,您可能考虑在该机器上运行 slurmd,以便它可以管理配置文件的缓存版本。否则,每个客户端命令将使用 DNS 记录与控制器联系并获取配置信息,这可能会对控制器造成额外负担。

 

版权

版权 (C) 2002-2007 加州大学理事会。 版权 (C) 2008-2010 劳伦斯利弗莫尔国家实验室。 版权 (C) 2010-2022 SchedMD LLC。 在劳伦斯利弗莫尔国家实验室制作(参见免责声明)。

此文件是 Slurm 的一部分,一个资源管理程序。 详细信息,请参见 <https://slurm.schedmd.com/>。

Slurm 是自由软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证的版本 2,或(根据您的选择)任何更高版本。

Slurm 的分发是希望它会有用,但不提供任何担保;甚至没有适销性或特定用途适用性的默示担保。有关详细信息,请参见 GNU 通用公共许可证。

 

文件

/etc/slurm.conf

 

另见

slurm.conf(5), slurmctld(8)


 

索引

名称
概要
描述
选项
环境变量
信号
核心文件位置
注意事项
版权
文件
另见

此文档是由 man2html 使用手册页创建的。
时间:2025年7月2日 13:21:54 GMT