一般 Slurm 和 unix 格式建议

General Slurm and unix format suggestion

我正在寻找解决我面临的问题的建议。为了提供上下文,我正在尝试开发一种工具来监控我们的内部 HPC 集群。由于我们使用 slurm 工作负载调度,因此我使用了他们提供的命令。

我运行正在执行以下命令: squeue -h -t R -O Partition,NumCPUs,tres-per-node 用于告知为作业分配的分区 CPU 和 GPU 等资源。但是,我们的分区名称很长,导致列式输出被视为一个值。

输出:

gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1               
gpu-2080ti-interacti8                   gpu:1
gpu-2080ti-long     32                  gpu:4               
gpu-2080ti-long     16                  gpu:2               
gpu-v100            4                   gpu:1

如果我 运行 在上面的命令中使用 awk 作为 squeue -h -t R -O Partition,NumCPUs,tres-per-node| awk "{print $1,$2,$3}" 将会有问题,因为 gpu-2080ti-interacti8 被视为一个值而不是它应该是 gpu-2080ti-interacti 8。我已经用 --format 查找了 -o 但这对我不起作用,因为 tres-per-nodesqueue 提供的 % 选项中不存在。我正在寻找可以帮助我分离这些值的解决方案。

-O, --Format 允许使用 : 指定列宽。所以你可以试试

squeue -h -t R -O Partition:30,NumCPUs,tres-per-node

30替换为所有分区名称的最大长度。