Skip to content

节点内存配置

在有些情况下,集群没有对计算节点的可用内存进行限制。当集群上有用户提交需要占用大量内存资源的任务后,导致计算节点的内存溢出从而使节点宕机,这种情况下就需要对集群上节点的可使用内存进行配置。当用户任务超额使用内存后,任务将被OOM Kill。下面将介绍如何在 SonmiHPC 集群上对计算节点的内存进行限制。

设置CGroup限制

管理员编辑 /etc/slurm/cgroup.conf 该文件,并添加如下配置:

ConstrainRAMSpace=yes
ConstrainRAMSpace=yes

设置节点内存

管理员编辑 /etc/slurm/slurm.conf 文件,在节点的配置增加 RealMemory 字段,示例如下:

NodeName=sonmi NodeAddr=10.1.1.1 CoresPerSocket=8 Sockets=1 ThreadsPerCore=1 RealMemory=32445
NodeName=compute-0-1 NodeAddr=10.1.1.3 CoresPerSocket=8 Sockets=1 ThreadsPerCore=1 RealMemory=7683
NodeName=sonmi NodeAddr=10.1.1.1 CoresPerSocket=8 Sockets=1 ThreadsPerCore=1 RealMemory=32445
NodeName=compute-0-1 NodeAddr=10.1.1.3 CoresPerSocket=8 Sockets=1 ThreadsPerCore=1 RealMemory=7683

ReadMemory 为节点的真实内存大小。可以通过 free -m 命令来获取该值:

(base) [root@sonmi models]# free -m
               total        used        free      shared  buff/cache   available
Mem:           32445       18378         576         838       14795       14066
Swap:           8191        4140        4051
(base) [root@sonmi models]# free -m
               total        used        free      shared  buff/cache   available
Mem:           32445       18378         576         838       14795       14066
Swap:           8191        4140        4051

其中 Mem total 的值为 ReadMemory 的值。

更新配置

管理员通过下面的命令来更新SLURM配置:

bash
scontrol reconfigure
systemctl restart slurmctld
scontrol reconfigure
systemctl restart slurmctld

参考链接

  1. SLURM官方配置文档

本站内容未经授权禁止转载
联系邮箱: [email protected]