一般 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-node
在 squeue
提供的 % 选项中不存在。我正在寻找可以帮助我分离这些值的解决方案。
-O, --Format
允许使用 :
指定列宽。所以你可以试试
squeue -h -t R -O Partition:30,NumCPUs,tres-per-node
将30
替换为所有分区名称的最大长度。
我正在寻找解决我面临的问题的建议。为了提供上下文,我正在尝试开发一种工具来监控我们的内部 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-node
在 squeue
提供的 % 选项中不存在。我正在寻找可以帮助我分离这些值的解决方案。
-O, --Format
允许使用 :
指定列宽。所以你可以试试
squeue -h -t R -O Partition:30,NumCPUs,tres-per-node
将30
替换为所有分区名称的最大长度。