You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

双GPU NVIDIA主机SLURM srun资源分配异常问题咨询

SLURM无法同时分配双GPU的问题排查与解决

核心原因

你遇到的问题本质是SLURM默认以节点为最小分配单位,如果没明确配置GPU资源拆分或指定GPU用量,先启动的交互式任务会独占整个节点,导致后续任务排队。

解决步骤

1. 确认节点GPU资源已正确配置

先检查SLURM是否识别到节点的2块GPU:

sinfo -N -l

查看输出中的Gres字段,应该显示gpu:2。如果没有这个字段,需要修改slurm.conf配置文件,在对应节点的配置行添加:

Gres=gpu:2

修改后重启SLURM服务(具体命令依系统而定,比如systemctl restart slurmctld和systemctl restart slurmd)。

2. 提交任务时明确指定GPU数量

使用srun启动交互式任务时,必须加上--gres=gpu:1参数,告诉SLURM只分配1块GPU:

srun --gres=gpu:1 --pty bash

这样每个用户的任务只会占用1块GPU,另一块就能被其他用户的任务正常分配。

3. 检查节点独占设置

如果节点配置了Exclusive或ExclusiveUser参数,会强制独占整个节点。查看slurm.conf,找到对应节点的配置,将:

Exclusive=yes

修改为:

Exclusive=user

或者直接注释掉该参数,允许多用户共享节点资源。

4. 验证资源分配

任务启动后,用以下命令确认资源占用:

  • 查看SLURM任务状态:squeue -l,检查每个任务的GRES列是否为gpu:1
  • 查看GPU使用情况:nvidia-smi,确认两块GPU分别被不同任务占用

内容的提问来源于stack exchange,提问作者Celso Lopes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 12:10:26