在 slurm 中打印每个作业使用的 cpu 数量?

Print the number of cpus in use per job in slurm?

我们已经切换到使用 sge 的 slurm 作为我们的集群作业排队系统。在 sge 中,当您使用 qstat 函数时,它会打印每个作业使用的 cpus/slots 的数量 - 在 slurm 中是否有一种简单的方法可以做到这一点? squeue 仅显示每个作业使用的节点数。谢谢

         JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
           1981      q      run-01     root  R      16:21      1 node001
           1982      q      run-02     root  R      16:21      1 node002
           1983      q      run-03     root  R      16:21      1 node003

squeue 命令有两个参数,允许选择输出中显示的列 --format--Format。每个都有一个选项(分别为 %cNumCPUs)来显示作业请求的内核数。

试试

squeue -o "%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R %c"

这将显示默认列并将核心数添加为最后一列。您可以 fiddle 使用格式字符串来根据需要排列列。然后,当您对输出感到满意时,可以将其设置为 .bash_profile.bashrc.

SQUEUE_FORMAT 变量的值
export SQUEUE_FORMAT='%.18i %.9P %.8j %.8u %.2t %.10M %.6D %R %c'

有关详细信息,请参阅 squeue man page