1.常用命令及功能介绍
* sacct:显示激活的或已完成作业或作业步的记账(对应需缴纳的机时费)信息。
* salloc:为需实时处理的作业分配资源,典型场景为分配资源并启动一个shell,然后用此shell执行srun命令去执行并行任务。
* sattach:吸附到运行中的作业步的标准输入、输出及出错,通过吸附,使得有能力监控运行中的作业步的IO等。
* sbatch:提交作业脚本使其运行。此脚本一般也可含有一个或多个srun命令启动并行任务。
* sbcast:将本地存储中的文件传递分配给作业的节点上,比如/tmp等本地目录;对于/home等共享目录,因各节点已经是同样文件,无需使用。
* scancel:取消排队或运行中的作业或作业步,还可用于发送任意信号到运行中的作业或作业步中的所有进程。
* scontrol:显示或设定Slurm作业、队列、节点等状态。
* sinfo:显示队列或节点状态,具有非常多过滤、排序和格式化等选项。
* squeue:显示队列中的作业及作业步状态,含非常多过滤、排序和格式化等选项。
* srun:实时交互式运行并行作业,一般用于段时间测试,或者与sallcoc及sbatch结合。
2.查询作业:sacct
参数解释
-E, --endtime=end_time查询在指定时间之前,任何状态的作业.如果通过-s参数指定
状态则返回在此时间之前的指定状态的作业,有效格式为:
HH:MM[:SS] [AM|PM]
MMDD[YY] or MM/DD[/YY] or MM.DD[.YY]
MM/DD[/YY]-HH:MM[:SS]
YYYY-MM-DD[THH:MM[:SS]]
-S, --starttime= starttime在指定时间后,任何状态的作业
-T, --truncate如果一个job在 --starttime之前开始运行,开始时间将被截断
为 --starttime,同样的作业结束时间 = --endtime
-o, --format指定显示字段以逗号分隔
3.节点操作: scontrol
下线节点:
scontrol update nodename=gv21 state=drain reason="hardware error"
上线节点:
scontrol update nodename=[node_name] state=idle
清空节点
scontrol update nodename=[node_name] state=down reson="debug"
节点恢复
scontrol update nodename=[node_name] state=resume
显示分区详情:
scontrol show partition [queue_name]
显示作业详情:
scontrol show job [jobid]
显示节点详情
scontrol show node nodes
显示配置详情
scontrol show config
修改配置文件后使配置文件生效
scontrol reconfig
4.用户管理操作 sacctmgr
4.1用户有关
查询用户
sacctmgr show user ***
添加用户
sacctmgr add user sghpc2 DefaultAccount=acct02 Qos=test_qos
修改用户
sacctmgr modify user sghpc2 set QoS=nomal
删除用户
sacctmgr delete user username
4.2账户相关
查询账户
sacctmgr show account ***
添加账户
sacctmgr add account acct
修改账户
sacctmgr modify account acc
删除账户
sacctmgr delete account acct
4.3QOS相关
查询QOs:
sacctmgr show qos mormal
添加QOs
sacctmgr add qos mormal
修改QOs
sacctmgr modify qos mormal
删除QOs
sacctmgr delete qos mormal
5.srun sbatch salloc 常用的作业提交参数
参数参数解释
-J 或者 --job-name指定作业名称
-p 或者 --partition指定队列资源
-N 或者 –nodes= <number>指定节点数量
-n 或者 --ntasks =<number>指定处理器数量
-o 或者--output=<filename pattern>指定 stdout 的输出文件
或者--error=<filename pattern>指定 stderr 的输出文件,如果指定的文件已经存在,它将被 覆盖。
6.其他命令
产看节点拥有资源
slurmd -C
查看slurm的版本信息
slurmd --version
slurmd -V
sinfo -V
查看slurm中集群列表的命令
sacctmgr show cluster
systemctl启动、停止、重启、查看slurmctld.service的命令
systemctl start slurmctld.service
systemctl stop slurmctld.service
systemctl restart slurmctld.service
systemctl status slurmctld.service
取消指定id作业
scancel [jobid]
查看作业列表
squeue
查看你节点和分区状态
sinfo
]写出使用srun提交使用1个节点,1个核心,一个gpu卡的sleep 100秒作业的命令
srun -N 1 -n 1 –gres=gpu:1 sleep 100
查看系统支持的pmi
srun --mpi=list
6.写作最后
Slurm
China社区,以Slurm为切入口讨论HPC相关问题,致力于守卫中国HPC集群稳定运行,推广国产调度器助力中国HPC进步。大家有想加入Slurm China
社区的小伙伴,可以私信或评论区联系我。