Batch-Processing
如何防止給定使用者啟動其他作業?
使用 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