1. 提交作业

提交脚本

sbatch job.sh

常用 Sbatch 参数

sbatch -J jobname        # 作业名
sbatch -p partition      # 指定分区
sbatch -N 1              # 节点数
sbatch -n 8              # 任务数(CPU 核心数)
sbatch --cpus-per-task=4 # 每个任务 CPU 数
sbatch --gres=gpu:1      # 申请 1 张 GPU
sbatch -t 01:00:00       # 运行时间 (HH:MM:SS)
sbatch -o out.txt        # 标准输出文件
sbatch -e err.txt        # 错误输出文件

2. 查看作业

查看当前用户作业

squeue -u $USER

查看所有作业

squeue

常见状态:

  • PD → Pending(排队中)
  • R → Running(运行中)
  • CG → Completing(即将完成)
  • F → Failed(失败)

3. 取消作业

scancel JOBID

取消当前用户所有作业:

scancel -u $USER

4. 查看资源信息

查看分区信息

sinfo

查看节点信息

scontrol show nodes

查看作业详细信息

scontrol show job JOBID

5. 交互式作业(调试必备)

申请交互式 Shell

srun --pty bash

申请 GPU:

srun --gres=gpu:1 --pty bash

常见完整写法:

srun -p gpu --gres=gpu:1 -n 1 --cpus-per-task=4 -t 01:00:00 --pty bash

6. 查看历史作业

sacct -u $USER

查看详细资源使用:

sacct -j JOBID --format=JobID,State,Elapsed,MaxRSS

常见字段:

  • Elapsed → 实际运行时间
  • MaxRSS → 最大内存使用

7. 常见脚本模板

#!/bin/bash
#SBATCH -J myjob
#SBATCH -p gpu
#SBATCH -N 1
#SBATCH -n 1
#SBATCH --cpus-per-task=4
#SBATCH --gres=gpu:1
#SBATCH -t 02:00:00
#SBATCH -o output.log
#SBATCH -e error.log
 
module load cuda
python train.py

提交:

sbatch job.sh