首页 > 解决方案 > 更改 RUNNING Slurm 作业的 CPU 计数

问题描述

我有一个 SLURM 集群和一个 RUNNING 作业,我在其中请求了 60 个线程

#SBATCH --cpus-per-task=60

(我正在使用 cgroups 在节点上共享线程)

我现在想将线程数减少到 30。

$ scontrol update jobid=274332 NumCPUs=30
Job is no longer pending execution for job 274332

该作业仍然分配了 60 个线程。

$ scontrol show job 274332
JobState=RUNNING Reason=None Dependency=(null)
NumNodes=1 NumCPUs=60 NumTasks=1 CPUs/Task=60 ReqB:S:C:T=0:0:*:*

如何正确地做到这一点?

谢谢!

标签: linuxcentoshpcslurm

解决方案


在当前版本的 Slurm 中,scontrol只允许减少分配给正在运行的作业的节点数量,但不能减少 CPU(或内存)的数量。

常见问题解答说:

使用 scontrol 命令更改作业的大小,方法是为作业指定新的节点计数 (NumNodes=),或标识您希望作业保留的特定节点 (NodeList=) 。

(强调我的)


推荐阅读