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

时间:2018-06-01 02:06:24

标签: slurm

目前,我正在使用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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

请注意,可以告诉sort使用-k标记对特定列进行排序,但此处列数对于作业步骤和作业摘要不同。您可以使用-X删除作业步骤信息(已经过了多余的工作)。