You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SLURM作业脚本中的SBATCH配置选项输出到.out文件?

解决SLURM作业脚本参数自动记录到.out文件的方法

方法1:直接提取脚本内的#SBATCH配置行

不用手动逐个echo,在脚本开头加入这段代码,让脚本自动读取并打印所有SBATCH参数:

# 输出本次作业的SBATCH配置到日志
echo "=== 本次作业SBATCH配置参数 ==="
gawk '/^#SBATCH/ {print $0}' "$0"
echo "=============================="

这段代码用gawk抓取当前脚本中所有以#SBATCH开头的行,$0指代当前脚本文件路径,执行后会自动把所有SBATCH参数写入到.out日志里,完全不用手动维护参数列表。

方法2:打印SLURM自动生成的环境变量

SLURM会把大部分SBATCH参数转换成对应的环境变量(比如SLURM_NNODES对应--nodes,SLURM_CPUS_PER_TASK对应--cpus-per-task),可以直接打印这些变量查看实际生效的配置:

echo "=== 作业运行环境参数 ==="
env | grep SLURM_
echo "======================"

这个方法能看到集群实际分配的参数(包括默认值覆盖的配置),但部分小众参数可能没有对应的环境变量。

方法3:用scontrol实时查询完整作业配置

脚本运行时已经自动获取到SLURM_JOB_ID环境变量,直接执行scontrol命令就能拿到作业的全部配置细节:

echo "=== 完整作业配置详情 ==="
scontrol show job "$SLURM_JOB_ID"
echo "======================"

这个命令会输出作业的所有信息,包括你设置的SBATCH参数、集群分配的资源、作业状态等,内容最全面。

这三个方法都能自动完成参数记录,不用手动维护,适合新手积累作业配置参考经验。

内容的提问来源于stack exchange,提问作者Peter Sanctus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 15:25:58