You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Slurm中获取已完成作业的工作目录及更多信息?

关于Slurm作业完成后访问WorkDir等信息的解答

好问题!这里其实有个容易混淆的细节:scontrol工具确实主要面向活跃状态的作业——也就是还在排队或者正在运行的任务。一旦作业进入完成、失败这类终端状态,你再用scontrol show job <jobid>去查询,大概率就看不到WorkDir、StdErr、StdOut和Command这些字段了,这也是你觉得scontrol查不到的原因。

不过别担心,sacct其实完全可以提取这些信息,只是默认输出的字段集合里没包含它们,你需要手动指定要展示的列:

  • 针对单个已完成作业,执行这条命令就能获取目标信息:
    sacct -j <你的作业ID> --format=JobID,WorkDir,StdErr,StdOut,Command
    
  • 如果想批量查看一段时间内完成作业的这些内容,可以去掉-j <作业ID>参数,再用-S指定起始时间(比如-S 2024-01-01)来缩小范围,避免输出内容过多。

另外补充一点:这些信息能否被sacct查到,依赖Slurm集群的配置是否启用了JobAcctGatherPlugin插件(一般默认是开启的),以及集群管理员是否设置了足够长的作业数据保留时间。只要配置正常,完成后的作业这些信息都是可以被检索到的。

内容的提问来源于stack exchange,提问作者Tobias Scheithauer

火山引擎 最新活动