Slurm中如何用sacct命令找出最长运行作业或排序Elapsed列?
如何用
sacct按运行时间(Elapsed)排序找出最长作业 当然可以对Elapsed列进行排序!Slurm的sacct命令内置了专门的排序功能,完全能满足你的需求。
核心解决命令
针对你提供的作业ID(44523498),直接在原有查询命令基础上添加--sort=-elapsed参数,就能实现降序排序(让运行时间最长的作业排在输出最顶部):
sacct -o reqmem,maxrss,averss,elapsed -j 44523498 --sort=-elapsed
这里的-前缀代表降序逻辑,如果想按最短耗时排序(升序),去掉-写成--sort=elapsed即可。
实用小技巧
- 如果只想快速查看Top N个最长耗时的任务,可以搭配
head命令过滤输出结果:sacct -o reqmem,maxrss,averss,elapsed -j 44523498 --sort=-elapsed | head -15 - 不用担心时间格式问题:
Elapsed列采用DD-HH:MM:SS格式,sacct会自动识别时间逻辑进行排序,不需要手动转换为秒数再处理。
结果说明
排序完成后,输出的第一行(除表头外)就是你要找的运行时间最长的任务数组实例,你可以直接对应它的ReqMem、MaxRSS等指标做后续分析。
内容的提问来源于stack exchange,提问作者user321627
相关产品推荐
相关产品推荐

