目前,我正在使用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
这就是我在下面的内容。谢谢!
答案 0 :(得分:1)
最简单的方法是将elapsed
显示为第一列并使用sort
命令。 sort
按字母数字排序,由于2位数填充,这将与Slurm时间格式一起使用。
sacct -o elapsed,reqmem,maxrss,averss -j 44523498 | sort
如果您不希望它们使输出混乱,您还可以使用-n
标志来避免标题行。
请注意,可以告诉sort
使用-k
标记对特定列进行排序,但此处列数对于作业步骤和作业摘要不同。您可以使用-X
删除作业步骤信息(已经过了多余的工作)。