我正在使用 slurm 运行多个数组作业。对于给定的数组作业 ID(假设为 885881),我想列出失败作业和已完成作业的计数。像这样的事情:
Input:
<some-command> -j 885881
输出:假设数组中有 200 个作业。
count | status
120 | failed
80 | completed
其次,如果我能够获得任务失败的唯一原因列表,那就太好了。
Input:
`<some-command> -j 885881`
Output:
count | reason
80 | OUT_OF_MEMORY
40 | TIMED_OUT
我相信sacct
可以利用命令以某种方式获得这些结果,但不确定如何获得。
使用这样的单行,您可以同时获取这两种信息
$ sacct -n -X -j 885881 -o state%20 | sort | uniq -c
16 COMPLETED
99 FAILED
32 OUT_OF_MEMORY
1 PENDING
The sacct
命令深入挖掘会计信息。这-n -X
参数用于简化输出并减少不必要的行数,并且-o
参数请求仅显示 STATE 列。然后输出被送入sort
and uniq
进行计数的命令。
如果您确实需要两个单独的命令,您可以轻松地调整上面的一行。您可以将其设为脚本或 Bash 函数以方便使用。
如果您想要更详细的解决方案,您可以查看smanage https://github.com/esurface/smanage and at atools https://github.com/gjbex/atools
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)