一.slurm简介
Slurm(Simple Linux Utility for Resource Management, http://slurm.schedmd.com/ )是开源的、具有容错性和高度可扩展的Linux集群超级计算系统资源管理和作业调度系统。超级计算系统可利用Slurm对资源和作业进行管理,以避免相互干扰,提高运行效率。所有需运行的作业,无论是用于程序调试还是业务计算,都可以通过交互式并行 srun 、批处理式 sbatch 或分配式 salloc 等命令提交,提交后可以利用相关命令查询作业状态等
二.slurm架构
Slurm采用slurmctld服务(守护进程)作为中心管理器用于监测资源和作业,为了提高可用性,还可以配置另一个备份冗余管理器。各计算节点需启动slurmd守护进程,以便被用于作为远程shell使用:等待作业、执行作业、返回状态、再等待更多作业。slurmdbd(Slurm DataBase Daemon)数据库守护进程(非必需,建议采用,也可以记录到纯文本中等),可以将多个slurm管理的集群的记账信息记录在同一个数据库中。还可以启用slurmrestd(Slurm REST API Daemon)服务(非必需),该服务可以通过REST API与Slurm进行交互,所有功能都对应的API。用户工具包含 srun 运行作业、 scancel 终止排队中或运行中的作业、 sinfo 查看系统状态、 squeue 查看作业状态、 sacct 查看运行中或结束了的作业及作业步信息等命令。 sview 命令可以图形化显示系统和作业状态(可含有网络拓扑)。 scontrol 作为管理工具,可以监控、修改集群的配置和状态信息等。用于管理数据库的命令是 sacctmgr ,可认证集群、有效用户、有效记账账户等
![image-20250113135248629]()
三.slurm 组件
节点
Head Node:头节点、管理节点、控制节点,运行slurmctld管理服务的节点。
Compute Node:计算节点,运行作业计算任务的节点,需运行slurmd服务。
Login Node:用户登录节点,用于用户登录的节点。
SlurmDBD Node:SlurmDBD节点、SlurmDBD数据库节点,存储调度策略、记账和作业等信息的节点,需运行slurmdbd服务。
客户节点:含计算节点和用户登录节点。
用户
account:账户,一个账户可以含有多个用户。
user:用户,多个用户可以共享一个账户。
bank account:银行账户,对应机时费等。
资源
GRES:Generic Resource,通用资源。
TRES:Trackable RESources,可追踪资源。
QOS:Quality of Service,服务质量,作业优先级。
association:关联。可利用其实现,如用户的关联不在数据库中,这将阻止用户运行作业。该选项可以阻止用户访问无效账户。
Partition:队列、分区。用于对计算节点、作业并行规模、作业时长、用户等进行分组管理,以合理分配资源。
插件¶
Slurm含有一些通用目的插件可以使用,采用这些插件可以方便地支持多种基础结构,允许利用构建块方式吸纳多种Slurm配置,主要包括如下插件:
记账存储(Accounting Storage):主要用于存储作业历史数据。当采用SlurmDBD时,可以支持有限的基于系统的历史系统状态。
账户收集能源(Account Gather Energy):收集系统中每个作业或节点的能源(电力)消耗,该插件与记账存储Accounting Storage和作业记账收集Job Account Gather插件一起使用。
通信认证(Authentication of communications):提供在Slurm不同组件之间进行认证机制。
容器(Containers):HPC作业负载容器支持及实现。
信用(Credential,数字签名生成,Digital Signature Generation):用于生成电子签名的机制,可用于验证作业步在某节点上具有执行权限。与用于身份验证的插件不同,因为作业步请求从用户的 srun 命令发送,而不是直接从slurmctld守护进程发送,该守护进程将生成作业步凭据及其数字签名。
通用资源(Generic Resources):提供用于控制通用资源(如GPU)的接口。
作业提交(Job Submit):该插件提供特殊控制,以允许站点覆盖作业在提交和更新时提出的需求。
作业记账收集(Job Accounting Gather):收集作业步资源使用数据。
作业完成记录(Job Completion Logging):记录作业完成数据,一般是记账存储插件的子数据集。
启动器(Launchers):控制srun启动任务时的机制。
MPI:针对多种MPI实现提供不同钩子,可用于设置MPI环境变量等。
抢占(Preempt):决定哪些作业可以抢占其它作业以及所采用的抢占机制。
优先级(Priority):在作业提交时赋予作业优先级,且在运行中生效(如,它们生命期)。
进程追踪(Process tracking,为了信号控制):提供用于确认各作业关联的进程,可用于作业记账及信号控制。
调度器(Scheduler):用于决定Slurm何时及如何调度作业的插件。
节点选择(Node selection):用于决定作业分配的资源插件。
站点因子(Site Factor,站点优先级):将作业多因子组件中的特殊的site_factor优先级在作业提交时赋予作业,且在运行中生效(如,它们生命期)。
交换及互联(Switch or interconnect):用于网络交换和互联接口的插件。对于多数网络系统(以太网或InifiniBand)并不需要。
作业亲和性(Task Affinity):提供一种用于将作业和其独立的任务绑定到特定处理器的机制。
网络拓扑(Network Topology):基于网络拓扑提供资源选择优化,用于作业分配和提前预留资源。
四.配置模式
slurm 两种配置模式
传统模式:客户节点采用 /etc/slurm/ 目录下的 slurm.conf 等配置文件进行配置。
无配置(configless)模式:客户节点无需配置 /etc/slurm 目录下相应的配置文件
无配置文件介绍https://slurm.schedmd.com/configless_slurm.html
环境准备
集群名:MyCluster
管理节点admin:
内网IP:191.168.1.254
/opt/ 目录:通过NFS网络共享给其它节点使用
配置文件: /etc/slurm/ 目录下的 cgroup.conf 、 slurm.conf 、 slurmdbd.conf 等文件
需要启动(按顺序)的守护进程服务:
-通信认证:munge
-系统数据库:mariadb(也可采用文本保存,更简单,本文不涉及)
-Slurm数据库:slurmdbd
-主控管理器:slurmctld
数据库节点(运行slurmdbd服务)admin:
可与管理节点共用,本文档与管理节点共用
用户登录节点login:
内网IP:191.168.1.250
/opt/ 目录:通过NFS服务共享管理节点上的 /opt/ 目录
计算节点node[1-10]:
内网IP:191.168.1.[1-10
/opt/ 目录:通过NFS服务共享管理节点上的 /opt/ 目录
需要启动(按顺序)的服务:
-通信认证:munge
-Slurm数据库:slurmdbd
各节点node[1-10],login:
-admin节点root用户可以通过密钥无需输入密码ssh进入各节点
-安装好munge包
-配置有NIS或LDAP等用户信息服务同步admin节点用户信息(管理节点建立slurm用户后,各节点执行 id slurm 可确认其slurm用户是否存在)
并行操作:
各节点执行同样命令可以利用 pdsh 命令或for循环处理:
-如需安装PDSH并行shell包,可利用源 http://mirrors.ustc.edu.cn/epel/ 进行安装配置。
-在node[1-10]节点执行 id slurm 可用下述命令之一:
pdsh: pdsh -w node[1-10] id slurm
for循环: for i in `seq 1 10`; do ssh node$i id slurm; done
-复制 /etc/hosts 文件到node[1-3,5,7-10]节点 /etc 目录下可执行下述命令之一:
pdsh: pdcp -w node[1-3,5,7-10] /etc/hosts /etc
for循环: for i in `seq 1 10`; do scp -a /etc/hosts node$i:/etc/; done
管理服务的常用命令(以slurmd为例):
设置开机自启动服务: systemctl enable slurmd
启动服务: systemctl start slurmd
重新启动服务: systemctl restart slurmd
停止服务: systemctl stop slurmd
查看服务状态及出错信息: systemctl status slurmd
查看服务日志: journalctl -xe
五.安装slurm
一、Slurm 安装与配置规划
在Ubuntu22.04上亲自实践安装Slurm21.08.8.,按照本教程顺利安装。(注意:服务端可以免密登录客户端)
二、服务端安装(172.23.10.32)
1.安装必要库文件
sudo su
apt-get install make hwloc libhwloc-dev libmunge-dev libmunge2 munge mariadb-server libmysqlclient-dev -y
2.启动munge服务
systemctl enable munge // 设置munge开机自启动
systemctl start munge // 启动munge服务
systemctl status munge // 查看munge状态
生成密钥信息
dd if=/dev/random bs=1 count=1024 >/etc/munge/munge.key
新建用户并修改文件所属用户(全部节点)注意:客户端也需要同样的操作,在客户端安装好必要的软件之后
useradd munge -m -s /bin/bash
passwd munge
chown -R munge.munge /var/{lib,log,run}/munge
chown -R munge.munge /etc/munge
chmod 711 /var/lib/munge
chmod 700 /var/log/munge
chmod 755 /var/run/munge
chmod 700 /etc/munge
chmod 400 /etc/munge/munge.key
拷贝密钥(主节点)
scp /etc/munge/munge.key munge@ip:/etc/munge
重启munge服务
systemctl restart munge
3.编译安装slurm
cd /home/dlmu/package
tar -jxvf slurm-21.08.8.tar.bz2
cd slurm-21.08.8/
./configure --prefix=/opt/slurm/21.08.8 --sysconfdir=/opt/slurm/21.08.8/etc
make -j16
make install
4.配置数据库
cp -r etc/slurm*.service /etc/systemd/system/
systemctl enable mariadb // 设置mariadb开机自启动
systemctl start mariadb // 启动mariadb服务
systemctl status mariadb // 查看mariadb状态
进入数据库
mysql
CREATE USER 'slurm'@'localhost' IDENTIFIED BY '密码';
GRANT ALL ON *.* TO 'slurm'@'localhost';
create database slurm_acct_db;
grant all on slurm_acct_db.* to 'slurm'@'localhost' identified by '密码' with grant option;
exit;
5. 修改slurm 服务端的配置文件
mkdir /opt/slurm/21.08.8/etc
在/opt/slurm/21.08.8/etc 下创建cgroup.conf文件:(原封不动的粘进去)
CgroupAutomount=yes
ConstrainCores=no
ConstrainRAMSpace=no
在/opt/slurm/21.08.8/etc 下创建slurm.conf文件:(原封不动的粘进去,一些密码需要修改 )这个配置文件,实现了 gpus 的限制,以及队列的分配,
ClusterName=hpc01
SlurmctldHost=aictrl3
MpiDefault=none
ProctrackType=proctrack/cgroup
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmdUser=root
StateSaveLocation=/var/spool/slurmctld
SwitchType=switch/none
TaskPlugin=task/affinity
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core_Memory
AccountingStorageEnforce=qos,limits
AccountingStorageHost=localhost
AccountingStoragePass=/var/run/munge/munge.socket.2
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageTRES=gres/gpu
JobCompHost=localhost
JobCompLoc=slurm_acct_db
JobCompPass=123456
JobCompType=jobcomp/none
JobCompUser=slurm
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/linux
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurmd.log
GresTypes=gpu
NodeName=aiwkr1 RealMemory=1000000 Gres=gpu:8 State=UNKNOWN Sockets=2 CoresPerSocket=32 CPUs=64
NodeName=aiwkr2 RealMemory=1000000 Gres=gpu:8 State=UNKNOWN Sockets=2 CoresPerSocket=32 CPUs=64
NodeName=aiwkr3 RealMemory=1000000 Gres=gpu:8 State=UNKNOWN Sockets=2 CoresPerSocket=32 CPUs=64
PartitionName=gpu1 Nodes=aiwkr[1-3] Default=YES MaxTime=168:00:00 State=UP
PartitionName=gpu2-8 Nodes=aiwkr[1-3] Default=YES MaxTime=168:00:00 State=UP
PartitionName=cpu Nodes=aiwkr[1-3] Default=YES MaxTime=168:00:00 State=UP
在/opt/slurm/21.08.8/etc 下创建gres.conf文件:在服务端里面不放任何内容
在/opt/slurm/21.08.8/etc 下创建slurmdbd.conf文件(原封不动粘进去,一些密码需要修改)
AuthType=auth/munge
AuthInfo=/var/run/munge/munge.socket.2
DbdAddr=127.0.0.1
DbdHost=localhost
SlurmUser=root
DebugLevel=verbose
LogFile=/var/log/slurm/slurmdbd.log
PidFile=/var/run/slurmdbd.pid
StorageType=accounting_storage/mysql
StorageHost=localhost
StoragePort=3306
StoragePass=123456
StorageUser=slurm
StorageLoc=slurm_acct_db
6.启动slurm服务
在服务端只需要启动 slurmdbd slurmctld
systemctl enable slurmdbd
systemctl start slurmdbd
systemctl status slurmdbd
systemctl enable slurmctld
systemctl start slurmctld
systemctl status slurmctld
7.配置slurm
SLURMPATH=/opt/slurm/21.08.8
echo "export PATH=\$PATH:$SLURMPATH/bin:$SLURMPATH/sbin" >> /etc/bash.bashrc
source /etc/bash.bashrc
三、客户端安装(172.23.10.33)
1.安装必要库文件
sudo su
apt-get install make hwloc libhwloc-dev libmunge-dev libmunge2 munge -y
2.启动munge服务
systemctl enable munge // 设置munge开机自启动
systemctl start munge // 启动munge服务
systemctl status munge // 查看munge状态
新建用户并修改文件所属用户
useradd munge -m -s /bin/bash
passwd munge
chown -R munge.munge /var/{lib,log,run}/munge
chown -R munge.munge /etc/munge
chmod 711 /var/lib/munge
chmod 700 /var/log/munge
chmod 755 /var/run/munge
chmod 700 /etc/munge
chmod 400 /etc/munge/munge.key
重启munge服务
systemctl restart munge
3.编译安装slurm
cd /home/dlmu/package
tar -jxvf slurm-21.08.8.tar.bz2
cd slurm-21.08.8/
./configure --prefix=/opt/slurm/21.08.8 --sysconfdir=/opt/slurm/21.08.8/etc
make -j16
make install
4. 修改slurm 客户端的配置文件
mkdir /opt/slurm/21.08.8/etc
在/opt/slurm/21.08.8/etc 下创建cgroup.conf文件:(原封不动的粘进去)
CgroupAutomount=yes
ConstrainCores=no
ConstrainRAMSpace=no
在/opt/slurm/21.08.8/etc 下创建slurm.conf文件:(原封不动的粘进去,一些密码需要修改 )这个配置文件,实现了 gpus 的限制,以及队列的分配,
ClusterName=hpc01
SlurmctldHost=aictrl3
MpiDefault=none
ProctrackType=proctrack/cgroup
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmdUser=root
StateSaveLocation=/var/spool/slurmctld
SwitchType=switch/none
TaskPlugin=task/affinity
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
SchedulerType=sched/backfill
SelectType=select/cons_tres
SelectTypeParameters=CR_Core_Memory
AccountingStorageEnforce=qos,limits
AccountingStorageHost=localhost
AccountingStoragePass=/var/run/munge/munge.socket.2
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageTRES=gres/gpu
JobCompHost=localhost
JobCompLoc=slurm_acct_db
JobCompPass=123456
JobCompType=jobcomp/none
JobCompUser=slurm
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/linux
SlurmctldDebug=info
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=info
SlurmdLogFile=/var/log/slurmd.log
GresTypes=gpu
NodeName=aiwkr1 RealMemory=1000000 Gres=gpu:8 State=UNKNOWN Sockets=2 CoresPerSocket=32 CPUs=64
NodeName=aiwkr2 RealMemory=1000000 Gres=gpu:8 State=UNKNOWN Sockets=2 CoresPerSocket=32 CPUs=64
NodeName=aiwkr3 RealMemory=1000000 Gres=gpu:8 State=UNKNOWN Sockets=2 CoresPerSocket=32 CPUs=64
PartitionName=gpu1 Nodes=aiwkr[1-3] Default=YES MaxTime=168:00:00 State=UP
PartitionName=gpu2-8 Nodes=aiwkr[1-3] Default=YES MaxTime=168:00:00 State=UP
PartitionName=cpu Nodes=aiwkr[1-3] Default=YES MaxTime=168:00:00 State=UP
在/opt/slurm/21.08.8/etc 下创建gres.conf文件:
Name=gpu Type=A800 File=/dev/nvidia[0-7]
在/opt/slurm/21.08.8/etc 下创建slurmdbd.conf文件(原封不动粘进去,一些密码需要修改)
AuthType=auth/munge
AuthInfo=/var/run/munge/munge.socket.2
DbdAddr=127.0.0.1
DbdHost=localhost
SlurmUser=root
DebugLevel=verbose
LogFile=/var/log/slurm/slurmdbd.log
PidFile=/var/run/slurmdbd.pid
StorageType=accounting_storage/mysql
StorageHost=localhost
StoragePort=3306
StoragePass=123456
StorageUser=slurm
StorageLoc=slurm_acct_db
5.启动slurm服务
在客户端只需要启动slurmd
systemctl enable slurmd
systemctl start slurmd
systemctl status slurmd
6.配置slurm
SLURMPATH=/opt/slurm/21.08.8
echo "export PATH=\$PATH:$SLURMPATH/bin:$SLURMPATH/sbin" >> /etc/bash.bashrc
source /etc/bash.bashrc
六.slurm基础命令
1.管理分区与节点的状态
sinfo
-s 简要格式输出
-N 显示每个节点的信息
-p <partition> 只显示特定分区的信息
输出字段:
PARTITION: 分区名称
AVAIL: 节点可用性状态(up/down)
TIMELIMIT: 分区的时间限制
NODES: 分区中的节点数量
STATE: 节点状态:drain(节点故障),alloc(节点在用),idle(节点可用),down(节点下线),mix(节点被占用,但仍有剩余资源)
NODELIST: 节点名称列表
2.查看配置
scontrol show job <jobid>: 显示作业细节
用途: 提供有关特定作业的详细信息,包括作业配置和当前状态。
示例:
scontrol show job 1234
3.查看分区
scontrol show partition
4.查看节点
scontrol show node
5.查看作业
scontrol show jobs
scontrol show job jobid --名称+查看作业id
6.提交单个作业
srun hostname
srun -N 2 -l hostname
srun sleep 60 &
7.sbatch提交作业
用途: 提交批处理作业脚本。
示例:
1.sbatch my_job_script.sh
常用选项:
--job-name=<name> 设置作业名称
--partition=<partition> 指定作业提交的分区
--time=<time> 设置作业运行时间限制
8.作业跟踪
要查看您提交的作业的状态,可以使用 squeue 命令。这个命令提供了作业的队列状态、运行状态等信息。通过 squeue,您可以实时监控作业的执行情况。
----
scontrol show job ${JOBID}
squeue -u ${USERNAME}
9.更新任务
我们可以使用scontrol update选项来更新已提交的作业,示例如下
scontrol update jobid=${JOBID} <TAB> <TAB>
scontrol update jobid=938 partition=gpu gres=gpu:1
10.取消作业 scancel
.用途: 取消一个或者多个作业
.实例:
scancel ${jobid}
scancel -u ${username}
.选项:
-u <username> 取消特定用户的所有作业
-p <partition> 取消特定分区中的作业
11.sacct显示用户作业历史
1)用途: 查询历史记录,显示已完成和正在进行的作业信息
2)选项:
-j <jobid> 查询特定作业
-S <YYYY-MM-DD> 查询指定开始日期的作业
-u <username> 查询特定用户的作业
3)输出字段:
.JobID:作业ID
.JobName:作业名称
.Partition:分区名称
.Account:用户账户
.State:作业状态
.Elapsed;作业运行状态
---
12)
scontrol 管理slurm系统
.用途 用于查询和更改slurm系统的配置和状态
常用命令
. scontrol show partition 显示分区信息
. scontrol update NodeName=<node> State=RESUME 恢复节点
scontrol update node=节点 state=resume
scontrol update node=节点 state=drain reason="yanshieir"
13.squeue:显示当前作业状态
.用途:显示当前在队列排队和运行的作业标签
.选项:
.-u <username> 只显示特定用户的作业
.-p <partition> 只显示特定分区的作业
输出字段:
JOBID: 作业ID
PARTITION: 分区名称
NAME: 作业名称
USER: 用户名
ST: 作业状态(PD排队;R运行;S挂起;CG正在退出)
TIME: 作业运行时间
NODES: 作业使用的节点数量
NODELIST(REASON): 作业所在节点或排队原因
14.pestat:节点使用信息
.用途:显示集群节点和使用情况和状态信息
.实例:
pestat
15.seff<jobid>:查看已完成任务的资源使用情况
.用途;查看特定作业的详细信息,包括如何完成或失败
.实例:
sacct -j 12345
七.slurm配置文件
1.Slurm配置文件
Slurm的配置文件是Slurm集群管理的核心,通常名为slurm.conf。这个文件位于Slurm安装目录的etc子目录下/etc/slurm/slurm.conf。 配置文件中包含了集群的重要设置,如节点定义、分区配置、调度策略等。
配置文件结构
Slurm配置文件通常包含以下几个关键部分:
编辑配置文件
编辑配置文件时,需要具备管理员权限。修改配置后,通常需要重启Slurm守护进程以应用更改。为确保配置的正确性,建议在修改前备份原始文件。
vim /etc/slurm/slurm.conf
ClusterName=develop
ControlMachine=master01 --指定主控节点名称
ControlAddr=10.10.12.10 --指定主控节点IP地址
SlurmUser=root
SlurmdUser=root
SlurmctldPort=6817
SlurmdPort=6818
AuthType=auth/munge --内部认证类型
StateSaveLocation=/var/spool/slurm/ctld
SlurmdSpoolDir=/var/spool/slurm/d
SwitchType=switch/none
MpiDefault=none
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmdPidFile=/var/run/slurmd.pid
ProctrackType=proctrack/pgid
ReturnToService=2
SlurmctldTimeout=300
SlurmdTimeout=300
InactiveLimit=0
MinJobAge=300
KillWait=30
Waittime=0
SchedulerType=sched/backfill
FastSchedule=1
SlurmctldDebug=3
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=3
SlurmdLogFile=/var/log/slurmd.log
AccountingStorageTRES=gres/gpu
DebugFlags=CPU_Bind,gres
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageHost=slurmmaster
AccountingStorageLoc=slurm
AccountingStoragePort=7031
AccountingStoragePass=/var/run/munge/munge.socket.2
AccountingStorageUser=slurm
NodeName=master01 NodeAddr=10.10.12.10 CPUs=2 Procs=1 State=UNKNOWN
NodeName=client01 NodeAddr=10.10.12.11 CPUs=2 Procs=1 State=UNKNOWN
NodeName=client02 NodeAddr=10.10.12.12 CPUs=2 Procs=1 State=UNKNOWN
PartitionName=control Nodes=master01 Default=YES MaxTime=INFINITE State=UP
PartitionName=compute Nodes=client01,client02 Default=YES MaxTime=INFINITE State=UP
JobCompHost=127.0.0.1
JobCompLoc=mysql
JobCompPass=147258
JobCompPORT=3306
JobCompType=jobcomp/mysql
JobCompUser=root
————————————————
ControlMachine=
ControlAddr=
AuthType=auth/munge
CacheGroups=0
CryptoType=crypto/munge
MaxJobCount=3000000
MpiDefault=none
ProctrackType=proctrack/linuxproc
PrologFlags=Alloc
ReturnToService=2
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=9601
SlurmdSpoolDir=/opt/slurm18/spool/slurmd
SlurmUser=root
StateSaveLocation=/opt/slurm18/spool
SwitchType=switch/none
TaskPlugin=task/affinity
TaskPluginParam=sched
InactiveLimit=0
KillWait=30
MessageTimeout=30
MinJobAge=300
SlurmctldTimeout=30
SlurmdTimeout=300
Waittime=0
FastSchedule=1
SchedulerType=sched/backfill
SchedulerPort=7321
SelectType=select/cons_res
SelectTypeParameters=CR_Core
SchedulerParameters=batch_sched_delay=3,defer,sched_min_interval=10,sched_interval=30,default_queue_depth=100,bf_max_job_test=100,bf_interval=30
AccountingStorageType=accounting_storage/slurmdbd
AccountingStorageUser=root
AccountingStoreJobComment=YES
ClusterName=cluster_gv171
AccountingStorageEnforce=associations,limits
AccountingStorageHost=
AccountingStoragePort=7031
JobCompType=jobcomp/none
JobCompUser=root
JobAcctGatherFrequency=300
JobAcctGatherType=jobacct_gather/linux
JobRequeue=1
SlurmctldDebug=3
SlurmctldLogFile=/opt/slurm18/log/slurmctld.log
SlurmdDebug=3
SlurmdLogFile=/opt/slurm18/log/slurmd_%h.log
PreemptMode=requeue,gang
PreemptType=preempt/partition_prio
SuspendTime=1800
PrivateData=accounts,events,jobs,reservations,usage,users
DebugFlags=NO_CONF_HASH
NodeName=gv245 CPUs=2 State=IDLE
PartitionName=debug Default=YES PriorityTier=6000 State=UP MaxTime=INFINITE Nodes=ALL
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库