linux 如何限制最终用户在slurm作业中可以使用的内存总量?[关闭]

cuxqih21  于 2023-05-06  发布在  Linux
关注(0)|答案(1)|浏览(422)

**关闭。**这个问题是not about programming or software development。目前不接受答复。

这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
8天前关闭
Improve this question
给定一个特定的分区,我希望能够限制用户在运行作业时的内存。
我能够定义一个QOS

Name     MaxTRESPU                Flags
---------- ------------- --------------------
    normal
    memlim   mem=750000M          DenyOnLimit

并且能够将此QOS附加到所讨论的分区。
PartitionName=testpartition Nodes=node[01-03] MaxTime=INFINITE State=UP qos=memlim
这似乎可以限制最终用户提交作业,但似乎任何简单的命令(如

srun -p testpartition hostname

仍将给予以下结果

# squeue -u testuser
             JOBID PARTITION     NAME       USER ST       TIME  NODES NODELIST(REASON)
          38855732      nrpe hostname   testuser PD       0:00      1 (QOSMaxMemoryPerUser)

所以看起来它不是在跟踪运行作业的内存,而是其他东西。也许是用户一直使用的内存?

fjnneemd

fjnneemd1#

我认为作业处于挂起状态的原因是因为默认的--mem值(DefMemPerNodeMaxMemPerNode)。有时设置为UNLIMITED(检查scontrol show config | grep "Mem")。因此,当您尝试提交一个违反分区QOS(更高优先级)的作业时,它将保持在挂起状态。
尝试运行带有额外参数的srun命令:

srun -p testpartition --mem 70000M -N 1 hostname

相关问题