【问题标题】:How to let slurm limit memory per node如何让 slurm 限制每个节点的内存
【发布时间】:2017-05-16 13:21:49
【问题描述】:

Slurm 管理具有 8core/64GB ram 和 16core/128GB ram 节点的集群。 有一个低优先级的“长”分区和一个高优先级的“短”分区。 在长分区中运行的作业可以被短分区中的作业挂起,在这种情况下,挂起作业的页面大部分被推送到交换。 (交换使用仅用于此目的,不适用于活动作业。)

如何在 slurm 中配置每个节点中可用于作业的 RAM+swap 总量?

MaxMemPerNode参数,但这是一个分区属性,因此不能为分区中的不同节点提供不同的值。

MaxMemPerCPU 参数,但这会阻止低内存作业与大内存作业共享未使用的内存。

【问题讨论】:

    标签: slurm


    【解决方案1】:

    需要在节点定义中使用RealMemory参数指定每个节点的内存(见slurm.conf manpage

    【讨论】:

    • 我的理解是 RealMemory 不包括交换。如果未在 slurm.conf 中设置,Slurmd 会动态确定此值。它不接受高于节点中可用实际内存量的设置。
    • @ddrossum Slurm 接受高于实际内存量的设置,如果 FastSchedule 设置为 2limits 未通过 cgroups IIRC 强制执行
    • 感谢您的提示。 slurm.conf 手册页说 FastSchedule 设置为 2 通常仅用于测试目的,但这似乎是一个很好的解决方案。
    猜你喜欢
    • 2018-03-30
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2020-06-08
    • 1970-01-01
    • 2017-07-01
    • 2019-08-11
    • 1970-01-01
    相关资源
    最近更新 更多