Slurmd daemon启动失败:cgroup插件及freezer报错问题求助
解决Slurmd运行时Freezer Cgroup相关报错的方案
1. 检查并修复Freezer Cgroup挂载
首先确认系统中freezer cgroup是否正常挂载:
mount | grep freezer
如果没有输出,手动创建挂载点并挂载:
sudo mkdir -p /sys/fs/cgroup/freezer sudo mount -t cgroup -o freezer freezer /sys/fs/cgroup/freezer
为了让挂载在系统重启后保持,编辑/etc/fstab添加以下行:
freezer /sys/fs/cgroup/freezer cgroup freezer 0 0
2. 调整Slurm Cgroup配置规避Freezer依赖
如果不需要使用freezer cgroup功能,可以直接在cgroup.conf中禁用相关约束:
# 添加以下配置 FreezerOnIdle=no ConstrainDevices=no
另外,若不需要通过cgroup进行进程跟踪,可在slurm.conf中切换进程跟踪插件:
ProctrackType=proctrack/pgid
这个插件依赖系统进程组,无需cgroup freezer支持。
3. 验证配置并重启服务
修改配置后先检查语法合法性:
slurmd -C
确认无错误后重启slurmd服务:
sudo systemctl restart slurmd
实时查看日志确认报错是否消除:
journalctl -u slurmd -f
4. 统一Cgroup版本兼容性
如果系统默认使用cgroup v2但Slurm配置为v1,先确认系统cgroup版本:
stat -fc %T /sys/fs/cgroup/
若输出为cgroup2fs,有两种处理方式:
- 要么重新编译安装支持cgroup v2的Slurm版本,然后将
cgroup.conf中CgroupPlugin改为cgroup/v2 - 要么在系统启动参数中添加
systemd.unified_cgroup_hierarchy=0,强制使用cgroup v1,之后重启系统
内容的提问来源于stack exchange,提问作者paul runner
相关产品推荐
相关产品推荐

