slurm使用相关

本文章是我使用slurm系统时常用的一些命令,记录于此,方便查询

查看可用节点信息

查看可用节点信息可使用sinfo命令,命令详细参数如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Usage: sinfo [OPTIONS]
-a, --all show all partitions (including hidden and those
not accessible)
-b, --bg show bgblocks (on Blue Gene systems)
-d, --dead show only non-responding nodes
-e, --exact group nodes only on exact match of configuration
--federation Report federated information if a member of one
-h, --noheader no headers on output
--hide do not show hidden or non-accessible partitions
-i, --iterate=seconds specify an iteration period
--local show only local cluster in a federation.
Overrides --federation.
-l, --long long output - displays more information
-M, --clusters=names clusters to issue commands to. Implies --local.
NOTE: SlurmDBD must be up.
-n, --nodes=NODES report on specific node(s)
--noconvert don't convert units from their original type
(e.g. 2048M won't be converted to 2G).
-N, --Node Node-centric format
-o, --format=format format specification
-O, --Format=format long format specification
-p, --partition=PARTITION report on specific partition
-r, --responding report only responding nodes
-R, --list-reasons list reason nodes are down or drained
-s, --summarize report state summary only
-S, --sort=fields comma separated list of fields to sort on
-t, --states=node_state specify the what states of nodes to view
-T, --reservation show only reservation information
-v, --verbose verbosity level
-V, --version output version information and exit

Help options:
--help show this help message
--usage display brief usage message

其中常用的有-p-q,分别代表查看特定分区和特定优先级。

查询结果中PARTITION 表示分区,NODES 表示结点数,NODELIST 为结点列表, STATE 表示结点运行状态。其中,idle 表示结点处于空闲状态,alloc 表示结 点已经分配了一个或多个作业。

提交作业

使用srun命令

srun命令使用示例:

1
srun -N 2 -n 24 -p debug -q debug programname < inputfile

其中N表示申请节点数,n表示总进程数,c表示每个核分配的进程数,q表示任务分区(不同任务分区可运算时间不一样),q表示qos任务优先级,inputfile表示屏幕输出保存的文件(不指定也可)。

使用批处理作业命令sbatch

先创建一个sh脚本文件,然后写入

1
2
3
# !/bin/bash

#SBATCH -J name

具体参数如下

作用 命令
指定任务名称 #SBATCH -J name
指定队列/分区 #SBATCH -p cpu
指定 QoS #SBATCH –qos=debug或者#SBATCH -q debug
最长运行时间 #SBATCH -t 5:00
指定节点数量 #SBATCH -N 1
指定每个CPU 核心进程数 #SBATCH –cpus-per-task=4
指定每个节点进程数 #SBATCH –ntasks-per-node=24
输出文件 #SBATCH -o test.out

查看作业状态

使用squeue命令

取消作业

使用scancel命令,示例:

1
2
scancel [jobid]
scancel 98833434

查看之前作业

使用sacct命令