Slurm中集群配置文件slurm.conf

news2024/11/17 12:19:43

1.slurm.conf简介

slurm.conf是一个ASCII文件,它描述了一般的Slurm 配置信息、要管理的节点、有关如何将这些节点分组到分区中,以及各种调度与这些分区关联的参数。此文件应为在群集中的所有节点上保持一致。可以通过设置SLURM_CONF在执行时修改文件位置 环境变量。Slurm 守护进程还允许您覆盖 使用“-f”的内置位置和环境提供的位置 选项。

文件的内容不区分大小写,但节点名称除外 和分区。将处理配置文件中“#”后面的任何文本 作为该行末尾的评论。 对配置文件的更改在重新启动 Slurm 守护进程、接收 SIGHUP 信号的守护进程或执行 命令“scontrol reconfig”,除非另有说明。

如果一行以单词“包括”开头,后跟空格 然后是一个文件名,该文件将与当前文件内联包含 配置文件。对于大型或复杂的系统,多个配置文件 可能更易于管理和启用某些文件的重用。

2.关于文件权限的说明:

slurm.conf 文件必须可供 Slurm 的所有用户读取,因为它 被许多 Slurm 命令使用。定义的其他文件 在 slurm.conf 文件中,例如日志文件和作业记帐文件, 可能需要由用户“SlurmUser”创建/拥有才能成功 访问。使用 “chown” 和 “chmod” 命令设置所有权 和适当的权限。

3.文件所在位置

slurm.conf在安装目录的etc文件夹中

关于slum.conf的配置,也可以先将安装包目录的etc文件slurm.conf.example拷贝到安装目录下,然后重命名为slurm.conf,并进行参数的修改。

4.配置参数详解

# slurm.conf file generated by configurator.html.
# Put this file on all nodes of your cluster.
# See the slurm.conf man page for more information.
ControlMachine=#主用节点名
ControlAddr=#主用节点IP
#BackupController=#备用节点
#BackupAddr=#备用节点IP
AuthType=auth/munge #内部认证
CacheGroups=0
#CheckpointType=checkpoint/none
CryptoType=crypto/munge
#DisableRootJobs=NO
#EnforcePartLimits=NO
#Epilog=/opt/slurm18/etc/slurm.epilog
#Prolog=/opt/slurm18/etc/slurm.prolog
#EpilogSlurmctld=/opt/slurm18/etc/slurmctld.epilog
#PrologSlurmctld=/opt/slurm18/etc/slurmctld.prolog
#SrunEpilog=
#SrunProlog=
#TaskEpilog=/opt/slurm18/etc/slurm.epilog
#TaskProlog=/opt/slurm18/etc/slurm.prolog
#FirstJobId=1
#MaxJobId=999999
#GresTypes=
#GroupUpdateForce=0
#GroupUpdateTime=600
#JobCheckpointDir=/opt/slurm18/checkpoint
#JobCredentialPrivateKey=
#JobCredentialPublicCertificate=
#JobFileAppend=0
#JobRequeue=1
#JobSubmitPlugins=1
#JobSubmitPlugins=lua #提交参数过滤
#KillOnBadExit=0 #异常作业清理
#LaunchType=launch/slurm
#Licenses=foo*4,bar
#MailProg=/bin/mail
MaxJobCount=3000000 #最大作业数300万
#MaxStepCount=40000
#MaxTasksPerNode=128
MpiDefault=none
#MpiParams=ports=#-#
#MpiParams=ports=12000-12999
#PluginDir=
#PlugStackConfig=
#PrivateData=jobs
#ProctrackType=proctrack/pgid
ProctrackType=proctrack/linuxproc #进程跟踪插件
PrologFlags=Alloc
#RebootProgram=
ReturnToService=2 #禁用自动恢复
#SallocDefaultCommand=
#SlurmctldPidFile=/opt/slurm18/run/slurmctld.pid
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817 # 主控服务端口
#SlurmdPidFile=/opt/slurm18/run/slurmd.pid
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818 #计算代理端口
SlurmdSpoolDir=/opt/slurm18/spool/slurmd # 计算代理缓存
SlurmUser=root #运行用户
#SlurmdUser=root # slurmd运行用户
StateSaveLocation=/opt/slurm18/spool # slurmctld本地文件缓存
SwitchType=switch/none
TaskPlugin=task/affinity # 资源控制方式cpuset
#TaskPlugin=task/cgroup # 资源控制方式cgroups
#TaskPlugin=task/none # 无特殊资源控制方式
#TaskPluginParam=
TaskPluginParam=sched
#TopologyPlugin=topology/tree#拓扑调度tree
#TopologyPlugin=topology/3d_torus #拓扑调度3d_torus
#TmpFS=/tmp
#TrackWCKey=no
#TreeWidth=
#UnkillableStepProgram=
#UsePAM=0
# TIMERS
#BatchStartTimeout=10
#CompleteWait=0
#EpilogMsgTime=2000
#GetEnvTimeout=2
#HealthCheckInterval=60 #检查间隔
#HealthCheckProgram=/usr/sbin/nhc #检查工具
InactiveLimit=0
KillWait=30
MessageTimeout=30
#ResvOverRun=0
MinJobAge=300 #完成作业保留时间
#OverTimeLimit=0
SlurmctldTimeout=30 #主备切换时间
SlurmdTimeout=300 #计算代理响应时间
#UnkillableStepTimeout=60
#VSizeFactor=0
Waittime=0
# SCHEDULING
#DefMemPerNode=100
#MaxMemPerNode=200
#DefMemPerCPU=30
#DefMemPerCPU=30
#MaxMemPerCPU=70
FastSchedule=1 #快速调度作业
#MaxMemPerCPU=60
#SchedulerRootFilter=1
#SchedulerTimeSlice=30
SchedulerType=sched/backfill #启用回填调度
#SchedulerType=sched/builtin #启用FIFO调度
SchedulerPort=7321 #调度器端口
SelectType=select/cons_res #资源选择算法
SelectTypeParameters=CR_Core #基于Core调度
#SelectTypeParameters=CR_Core_Memory #基于Core和内存调度
#SchedulerParameters=defer,default_queue_depth=50,bf_max_job_test=50
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
# 作业优先级
#PriorityFlags=
#PriorityType=priority/multifactor #优先级策略
#PriorityDecayHalfLife=30 #半衰期时长
#PriorityCalcPeriod=5 #FS统计间隔
#PriorityFavorSmall=
#PriorityMaxAge=
#PriorityUsageResetPeriod=
#PriorityWeightAge=
#PriorityWeightFairshare=1000 #FS权重
#PriorityWeightJobSize= #JobSize权重
#PriorityWeightPartition=1000 #分区权重
#PriorityWeightQOS= #QOS权重
# only permitted in slurmdbd.conf
#AccountingStorageType=accounting_storage/none
#AccountingStorageType=accounting_storage/filetxt
#AccountingStorageType=accounting_storage/mysql
AccountingStorageType=accounting_storage/slurmdbd #启用slurmdbd
AccountingStorageUser=root #记账服务
AccountingStoreJobComment=YES #记录作业注释
ClusterName=cluster_gv171 #集群名
# LOGGING AND ACCOUNTING
#AccountingStorageEnforce=0
AccountingStorageEnforce=associations,limits #组织关联和资源限制
AccountingStorageHost=#主用记账服务
#AccountingStorageBackupHost=#备用记账服务
#AccountingStorageLoc=/opt/slurm18/accounting/accounting
#AccountingStorageLoc=gv_slurm_db
#AccountingStoragePass=111111
AccountingStoragePort=7031 #记账服务端口
#DebugFlags=NO_CONF_HASH # 调试标识
#JobCompHost=localhost
#JobCompLoc=/opt/slurm18/job_completions/job_completions
#JobCompLoc=gv_slurm_db
#JobCompPass=111111
#JobCompPort=3309
JobCompType=jobcomp/none #禁止生成comp日志
#JobCompType=jobcomp/mysql
#JobCompType=jobcomp/filetxt
#JobCompType=jobcomp/slurmdbd
JobCompUser=root
#JobContainerType=job_container/none
JobAcctGatherFrequency=300 #作业采集间隔
#JobAcctGatherType=jobacct_gather/none
JobAcctGatherType=jobacct_gather/linux #启用Linux插件
JobRequeue=1 # 允许重新排队
SlurmctldDebug=3 #slurmctld日志级别
SlurmctldLogFile=/opt/slurm18/log/slurmctld.log #管理节点日志
SlurmdDebug=3 #slurmd日志级别
SlurmdLogFile=/opt/slurm18/log/slurmd_%h.log #计算节点日志
#SlurmdLogFile=/opt/slurm18/log/slurmd.log
PreemptMode=requeue,gang #抢占策略
PreemptType=preempt/partition_prio #队列优先级
# POWER SAVE SUPPORT FOR IDLE NODES (optional)
#SuspendProgram=
#ResumeProgram=
#SuspendTimeout=
#ResumeTimeout=
#ResumeRate=
#SuspendExcNodes=
#SuspendExcParts=
#SuspendRate=
SuspendTime=1800
PrivateData=accounts,events,jobs,reservations,usage,users # 权限控制
#GresTypes=gpu,mic
DebugFlags=NO_CONF_HASH
# COMPUTE NODES
NodeName=gv245 CPUs=2 State=IDLE
PartitionName=debug Default=YES PriorityTier=6000 State=UP MaxTime=INFINITE Nodes=ALL ##可以通过命令 slurmd -C 获得

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/164216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

203:vue+openlayers 地图旋转移动动画、CSS缩放动画,介绍animate的使用方法

第203个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayers项目中创建动画,地图上使用的是view中的animate方法, CSS中使用的是keyframes ,animation,transform等方法。这两将两者融合在一个示例中,api用的不全,但是能起到一个抛转引玉的作用。 地图 view.anima…

Java while和do while循环详解

循环是程序中的重要流程结构之一。循环语句能够使程序代码重复执行,适用于需要重复一段代码直到满足特定条件为止的情况。所有流行的编程语言中都有循环语句。Java 中采用的循环语句与C语言中的循环语句相似,主要有 while、do-while 和 for。另外 Java 5…

ROS2机器人编程简述humble-第一章-Introduction

ROS2机器人编程简述新书推荐-A Concise Introduction to Robot Programming with ROS2学习笔记流水账-推荐阅读原书。第一章:简要介绍宏观概念,配置编译一下本书配套的源码包。支持版本个人测试foxy和humble全部都OK。硬件软件机器人应用关系如下图所示&…

【阶段四】Python深度学习01篇:深度学习基础知识:神经网络历史及优势、神经网络基础单元与梯度下降:正向传播和反向传播

本篇的思维导图: 神经网络历史及优势 1958年,计算机科学家罗森布拉特(Rosenblatt)就提出了一种具有单层网络特性的神经网络结构,称为“感知器”(perceptron)。感知器出现之后很受瞩目,大家对它的期望很高。然而好景不长—一段时间后,人们发现感知器的实用性很…

2022.12 青少年机器人技术等级考试理论综合试卷(一级)

2022年12月 青少年机器人技术等级考试理论综合试卷(一级) 分数: 100 题数: 45 一、 单选题(共 30 题, 共 60 分) 1.下列哪个是机器人?( ) A.a B.b C.c D.d 标准答案: C 2.机器人的电…

1-计算机系统概述(CO)

计算机组成原理:实现计算机体系结构所体现的属性,具体指令的实现对程序员透明,即研究如何用硬件实现所定义的接口 计算机系统硬件(计算机的实体,如主机、外设)软件(由具有各类特殊功能的程序组…

【博客587】ipvs hook点在netfilter中的位置以及优先级

ipvs hook点在netfilter中的位置以及优先级 1、netfilter栈全景图 2、Netfilter hooks 五个hook点: 每个 hook 在内核网络栈中对应特定的触发点位置,以 IPv4 协议栈为例,有以下 netfilter hooks 定义: NF_INET_PRE_ROUTING:…

深入理解数据结构 —— 差分

什么是差分 对于一个数组a:a1,a2,a3...an 我们构造一个数组b:b1,b2,b3...bn 使得数组a是数组b的前缀和数组,即ai b1 b2 ... bi 则数组b就是数组a的差分 差分有什么用 当我们得到数组b后,只用对b求一遍前缀和,…

使用ChatGPT智能搜索论文

对于天天查找论文的小伙伴来说,有一个好用的搜索工具,那简直不要太开心,效率妥妥的上升。但现实结果却是,要么搜索工具不给力,要么自己输入的关键词不起作用,反正,自己脑海里想找寻的论文和搜索…

大数据必学Java基础(一百二十三):Maven常见命令介绍

文章目录 Maven常见命令介绍 一、install 二、clean 三、compile 四、package Maven常见命令介绍 Maven的命令非常多,我们只是讲解常用的几个:(所有命令都可以在控制台运行的)

Linux——页表的分页机制

目录 一.相关概念(页帧、页框、缺页中断) 二.页表分页机制 (一).为什么采用两级页表 (二).两级页表分页机制 ①原理: ②映射原理计算 一.相关概念(页帧、页框、缺页中断&#…

[Python+Django]Web学生信息管理系统数据库设计及系统实现

本文我们完成数据的设计,并通过Django框架完成数据库构建同时利用Django框架模式实现学生信息管理系统的功能。 简单的包装下毕设应该没问题了。 Python,Mysql,Pycharm的安装本文就不做特别介绍了,有需要的同学请参考如下博文。…

Linux shell 多线程开发以及模板使用,详细一文透彻

Linux shell 多线程开发以及模板使用 序 在日常工作中,通常是起一个终端,通过 shell 连接我们的跳板机服务器,为此服务器提供一个进程供我们使用。但我们通常都是一条一条命令的运行,在某些需要并发的场景时就显得捉襟见肘。所以…

读取和写入音频文件

将数据写入到音频文件,获取文件信息,然后将数据读回到 MATLAB 工作区。 写入音频文件 获取有关音频文件的信息 读取音频文件 绘制音频数据图 写入音频文件 从文件 handel.mat 加载示例数据 load handel.mat 工作区现在包含音频数据矩阵 y 和采样率 …

Linux 中断子系统(六):核心数据结构

Linux中断子系统有六个核心数据结构,分别是: irq_desc irq_data irqactions irq_chip irq_domain irq_domain_ops关系如下: 强烈建议大家学习一个子系统之前,先研究这个子系统的核心数据结构,知道了他们的关系,你就知道这个子系统在做什么事情。 右侧的 irq_chip、irq…

(nio)Selector-处理消息边界-附件与扩容

⚠️ 不处理边界的问题 以前有同学写过这样的代码,思考注释中两个问题,以 bio 为例,其实 nio 道理是一样的 public class Server {public static void main(String[] args) throws IOException {ServerSocket ssnew ServerSocket(9000);whi…

算法训练营第四天| 24. 两两交换链表中的节点 | 19.删除链表的倒数第N个节点 | 面试题 02.07. 链表相交 |142.环形链表II

24.两两交换链表中的节点 看完题后的思路 用两个指针pre,q指向1,2,创建一个虚拟头结点,使用尾插法插入**.难点在于初始条件的两个指针判空与终止条件的判断(奇数个节点与偶数个节点)** 初始节点判空无非三种情况,空节点,一个节点,直接使用一个判断解决 当个数是奇数时,pre指向…

Alluxio 2022技术干货年终大赏

2022,我们积累了很多应用案例,邀请了很多嘉宾参与了我们的社区直播活动 17场主题活动(Alluxio Day、Meetup、Datafun Summit等) 44位嘉宾44个主题(来自一线大厂的实战者) 2000分钟的分享时长(内…

【项目实战】使用Maven打包生成jar包到指定目录

一、背景(Maven打包存在的问题) Maven默认打包后,jar文件都是生成在各自服务的target下,对微服务的部署不太友好,需要整个项目上传服务器,里面包含了源码 二、如何解决以上问题? 其实可以在打…

[激光原理与应用-63]:激光器-光学-探测光、泵浦光和种子光三种光的区别

目录 种子光 泵浦光: 探测光: 种子光 种子光是用来放大出光的,它的作用好比在激光中增加了受激辐射的光子数,因此加快放大出光。 为放大器或者其它激光器产生种子光的激光器。 种子激光器是其输出光被注入到一些放大器或者其…