更改 RUNNING Slurm 作业的 CPU 计数

Mik*_*has 4 linux hpc centos slurm

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

#SBATCH --cpus-per-task=60
Run Code Online (Sandbox Code Playgroud)

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

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

$ scontrol update jobid=274332 NumCPUs=30
Job is no longer pending execution for job 274332
Run Code Online (Sandbox Code Playgroud)

该作业仍分配了 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:*:*
Run Code Online (Sandbox Code Playgroud)

实现这一目标的正确方法是什么?

谢谢!

dam*_*ois 5

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

FAQ说:

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

(强调我的)