【问题标题】:General Slurm and unix format suggestion一般 Slurm 和 unix 格式建议
【发布时间】:2022-01-26 14:57:03
【问题描述】:

我正在寻找解决我面临的问题的建议。为了提供背景信息,我正在尝试开发一种工具来监控我们内部的 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 提供的 % 选项中不存在。我正在寻找一种可以帮助我区分这些值的解决方案。

【问题讨论】:

  • 你不能使用awkNF(字段数)常量吗?
  • 也许您可以在squeue-O, --Format=<output_format> 选项参数中使用带或后缀规范的最小字段

标签: linux slurm


【解决方案1】:

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

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

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

【讨论】:

  • 我试图这样做 squeue -h -t R -O --Format="%.10Partition,NumCPUs,tres-per-node" 这不起作用。但这非常有效。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-13
  • 2013-09-07
  • 2010-10-17
相关资源
最近更新 更多