SLURM作业数组:如何统计指定数组的失败与成功子作业数量?
利用SLURM内置工具统计数组作业的成功/失败子作业数量
SLURM 21.08版本确实没有直接提供统计数组作业成功/失败子作业数的内置环境变量,但可以通过SLURM自带的会计工具sacct实现无需自定义逻辑的统计,具体方法如下:
1. 统计成功子作业数量
针对指定的数组作业ID(示例中为12345),执行以下命令:
sacct -j 12345 --state=COMPLETED --format=JobID | wc -l
--state=COMPLETED会直接过滤出所有成功完成的子作业,wc -l统计结果行数即对应成功子作业的数量。
2. 统计失败子作业数量
同理,统计失败子作业只需替换状态参数:
sacct -j 12345 --state=FAILED --format=JobID | wc -l
补充:多状态联合统计
如果需要统计其他异常状态(如超时TIMEOUT、取消CANCELLED),可在--state参数中用逗号分隔多个状态:
# 同时统计失败和超时的子作业总数 sacct -j 12345 --state=FAILED,TIMEOUT --format=JobID | wc -l
内容的提问来源于stack exchange,提问作者Chase Schuette
相关产品推荐
相关产品推荐

