You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在Slurm中配置RealMemory?及节点内存检测相关疑问

刚好之前处理过类似的Slurm内存配置问题,给你详细梳理这两个关键点:

1. 如何在Slurm中设置RealMemory?

设置RealMemory主要是通过修改Slurm的核心配置文件,步骤如下:

  • 找到Slurm配置文件slurm.conf,常见路径是/etc/slurm/slurm.conf,部分集群可能放在/etc/slurm-llnl/目录下
  • 在文件中定位到节点定义行(如果是批量节点可以用通配符,比如NodeName=node[01-20]),添加或修改RealMemory参数,数值单位是MB。比如要给node01配置64GB内存,就写:
    NodeName=node01 RealMemory=65536 ...(其他节点参数)
    
  • 如果集群所有节点内存规格一致,也可以通过分区(PartitionName)继承配置,但更推荐在节点级别单独设置,避免后续扩容时出现歧义
  • 修改完配置后,必须重启Slurm控制服务和节点服务才能生效:
    sudo systemctl restart slurmctld
    sudo systemctl restart slurmd
    
  • 验证配置是否生效:执行scontrol show node node01,在输出里找到RealMemory字段,确认数值和你设置的一致
2. 如何查看Slurm从操作系统获取的对比内存数值?

RealMemory配置值大于Slurm检测到的节点实际可用内存时,节点会被标记为drain状态。要查看Slurm用来对比的系统内存数值,有这几种方法:

  • sinfo快速查看集群节点内存信息
    执行sinfo -N -l,输出里的AvailableMemory字段就是Slurm从操作系统获取的节点可用内存(单位MB),这个值就是Slurm用来和RealMemory对比的基准值
  • scontrol查看单节点详细内存数据
    针对具体节点执行scontrol show node <节点名称>,输出中除了RealMemory,还会显示AvailableMemory(Slurm认定的节点可用内存上限)和FreeMem(节点当前空闲内存),重点看AvailableMemory即可
  • 查看slurmd日志定位问题
    如果节点已经进入drain状态,查看节点上的slurmd日志(通常在/var/log/slurmd.log),里面会有明确的报错信息,比如RealMemory (xxxx) exceeds available memory (yyyy),直接搜索RealMemory关键词就能找到对应的对比数值

内容的提问来源于stack exchange,提问作者a06e

火山引擎 最新活动