我正在尋找解決我面臨的問題的建議。為了提供背景關系,我正在嘗試開發一種工具來監控我們內部的 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
如果我在上述命令上運行 awksqueue -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。我正在尋找一種可以幫助我區分這些值的解決方案。
uj5u.com熱心網友回復:
允許使用-O, --Format指定列寬:。所以你可以試試
squeue -h -t R -O Partition:30,NumCPUs,tres-per-node
將 替換30為所有磁區名稱的最大長度。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/422269.html
標籤:
