在 Slurm 工作负载管理器的 sacct 命令中,有没有办法找到 "Elapsed" 列的最大值或对其进行排序?

In the sacct command in the Slurm workload manager, is there a way to find the maximum of the "Elapsed" column or sort it?

目前,我正在 运行 一个使用 Slurm 的 1000 作业数组。完成后,我使用 sacct 查看实际花费了多少时间。我想看看最长的 运行 工作是什么。它将是 "Elapsed" 列下的最大值。有办法排序吗?

sacct -o reqmem,maxrss,averss,elapsed  -j 44523498
    ReqMem     MaxRSS     AveRSS    Elapsed
---------- ---------- ---------- ----------
     800Mn                         02:24:15
     800Mn    655756K    655756K   02:24:15
     800Mn       844K       344K   02:24:17
     800Mn                         02:10:08
     800Mn    631912K    631912K   02:10:08
     800Mn      1032K       344K   02:10:08
     800Mn                         01:38:14
     800Mn    635304K    635304K   01:38:14
     800Mn       848K       348K   01:38:14
     800Mn                         02:28:04

这就是我下面的内容。谢谢!

最简单的方法是将 elapsed 显示为第一列并使用 sort 命令。 sort 按字母数字排序,由于有 2 位数字填充,这将适用于 Slurm 时间格式。

sacct -o elapsed,reqmem,maxrss,averss  -j 44523498 | sort

如果您不希望它们使输出混乱,您还可以使用 -n 标志来避免 header 行。

请注意,可以使用 -k 标志告诉 sort 在特定列上排序,但此处的列数对于作业步骤和作业摘要是不同的。您可以使用 -X.

删除作业步骤信息(多余 w.r.t 已过)