Slurm是一个开源,容错,高度可扩展的集群管理和作业调度系统,适用于大型和小型Linux集群。主要有三个功能:
- 它在一段时间内为用户分配对资源(计算节点)的独占和/或非独占访问,以便他们可以执行工作。
- 它提供了一个框架,用于在分配的节点集上启动,执行和监视工作(通常是并行作业)。
- 它通过管理待处理工作的队列来仲裁资源争用。
简单来说,slurm可以合理安排资源,让资源利用最大化。
举一个简单的例子:
1.构建一个脚本 test.sh
代码语言:javascript复制#!/bin/bash
#SBATCH -n 8 # 核心数
#SBATCH -N 1 # 节点数
#SBATCH -t 12:00:00 # 时间
#SBATCH --mem=10G # 内存
#SBATCH --partition=12hours
#SBATCH -e err.log # 错误输出
#SBATCH -o out.log # 输出
#SBATCH --job-name=test # 任务名
echo "START: $SLURM_JOBID"
srun sh try.sh # 提交任务也可以是任何别的命令
echo "END! "
2.提交 sbatch
代码语言:javascript复制sbatch test.sh
3.查看任务 squeue 类似于top命令。
代码语言:javascript复制squeue -u xxx(用户名)
4.取消任务
代码语言:javascript复制scancel JOBID
欢迎关注公众号!
生信编程日常