批处理作业sbatch

简介

批处理作业是指用户编写作业脚本,指定资源需求约束,提交后台执行作业。 提交批处理作业的命令为sbatch,用户提交命令即返回命令行窗口, 但此时作业在进入调度状态, 在资源满足要求时,分配完计算节点之后, 系统将在所分配的第一个计算节点(而不是登录节点)上加载执行用户的作业脚本。

批处理作业的脚本为一个文本文件, 脚本第一行以 #! 字符开头,并指定脚本文件的解释程序, 如 sh,bash。 由于计算节点为精简环境,只提供 sh 和 bash 的默认支持。

使用示例

例如用户的脚本名为myjob.sh,内容如下:

#!/bin/bash

srun -n 4 -N 4 -p arm hostname

使用该脚本用户提交批处理作业,需要明确申请的资源为 arm 分 区的 4 个节点。

备注

需给该文本文件设置myjob.sh可执行权限,利用命令: chmod +x myjob.sh

用户sbatch批处理命令如下:

$sbatch -N 4 -p arm ./myjob.sh
Submitted batch job 1813520

计算开始后,工作目录中会生成以slurm开头的.out 文件为输出文件。

$cat slurm-1813520.out
taishan-arm-cpu03
taishan-arm-cpu01
taishan-arm-cpu02
taishan-arm-cpu04

更多选项,用户可以通过 sbatch --help 命令来查看。