Batch-Processing

如何防止給定使用者啟動其他作業?

  • October 27, 2017

使用 Slurm 工作負載管理器,我如何防止使用者bob啟動更多作業?現有作業應繼續執行。使用者應該能夠送出更多的工作,但他們不應該能夠開始。

Slurm 的sacctmgr命令可用於修改每個使用者的各種限制。您需要成為相關帳戶或 root 的帳戶協調員。將其中任何一個設置為0應該可以解決問題:

  • MaxJobs
  • GrpJobs

舉個例子:

$ sacctmgr modify user where name=bob set MaxJobs=0

幾分鐘後,如果您squeue在使用者上執行,您應該會看到如下內容:

$ squeue -u bob -o "%i %r"
JOBID REASON
20582420 AssocMaxJobsLimit
20583282 Dependency

請注意,Dependency原因似乎優先於使用者限制,但它無論如何都不會執行,因為它正在等待其他作業執行。同樣JobArrayTaskLimit將優先於使用者限制,但作業不會開始。

要刪除限制,請將值設置為-1

$ sacctmgr modify user where name=bob set MaxJobs=-1

您可以通過以下方式顯示使用者的現有限制:

$ sacctmgr list assoc User=bob

引用自:https://serverfault.com/questions/880626