slurmd启动时忽略slurm配置,指定-f参数仍不生效如何排查
问题排查与解决方案
核心原因说明
slurmd没有忽略你通过-f指定的配置,你误判配置未加载的原因是对slurmd debug日志的字段含义理解错误:
日志中形如参数 = X (CF: Y, HW: Z)的格式里:
CF即Config File,是你指定的配置文件里设置的值HW即Hardware,是slurmd自动探测到的本机实际硬件值
你贴的日志里已经明确显示Confile = /usr/local/etc/slurm.conf,且所有CF字段的取值都和你配置文件里的设置一致,说明-f参数完全生效。
你遇到的节点注册报错是Slurm的默认校验逻辑导致的:默认配置下slurmctld会拿节点上报的实际硬件值和配置文件里NodeName段的参数做校验,只要实际值小于配置值就会拒绝节点注册,你遇到的low real_memory size (3907 < 2000000)就是这个校验触发的报错。
解决方案
- 修正配置参数匹配实际硬件:将
slurm.conf里NodeName段的RealMemory、Sockets、CoresPerSocket等参数修改为和实际硬件一致的取值,RealMemory建议设置为比实际探测值略小(比如你这里实际探测为3907MB,可以设置为RealMemory=3800),预留部分内存给系统进程使用。 - (测试场景可选)关闭硬件校验:如果是测试环境需要强制使用配置的参数,可在
slurm.conf中添加FastSchedule=1配置项,开启后slurmctld会直接使用配置的硬件参数,不再校验节点上报的实际值,生产环境不建议开启该配置,避免出现资源超卖。 - 重启服务生效:配置修改完成后先重启
slurmctld服务,再重启slurmd服务,节点即可正常注册。
内容的提问来源于stack exchange,提问作者Tom Martin
相关产品推荐
相关产品推荐

