Related commands
跳至導覽
跳至搜尋
管理介面 重新載入slurm.conf
scontrol reconfigure sinfo -l -N # check node condition
開關NODE
scontrol update NodeName=node01 State=DRAIN Reason="Scheduled maintenance" scontrol update NodeName=node01 State=DOWN Reason="Scheduled maintenance" scontrol update NodeName=node01 State=RESUME scontrol update NodeName=node01 State=IDLE
node端
systemctl status slurmd systemctl restart slurmd systemctl stop slurmd
server端
systemctl restart slurmctld systemctl restart slurmctld systemctl stop slurmctld
report
sreport cluster AccountUtilizationByUser start=2025-07-01 end=2025-07-20 sacct -j jobid sacct
Add a user to some account
sacctmgr add user username account=default
Set QOS
sacctmgr add qos limited GrpCPUMins=10000 MaxJobs=5 MaxWall=01:00:00 MaxSubmitJobs=10
set usser account qos limitation rule
sacctmgr modify user name=username set qos=limqos sacctmgr modify account name=default set qos=limited
sacctmgr modify user name=username account=default set GrpCPUMins=1000 sacctmgr modify user name=username account=default set MaxJobs=5 sacctmgr modify user name=username account=default set GrpCPUs=8
GrpCPUs 群組(帳號)可用的最大 CPU 數量 GrpCPUMins 群組 CPU 使用分鐘總數配額 MaxJobs 可同時運行的最大作業數量 MaxSubmitJobs 可提交的最大作業數量 MaxWall 單個作業最長可執行時間 GrpTRESMins 針對 GPU/Memory 等進一步限制
The command to show the qos setting of limited group
sacctmgr show qos limited
| 欄位名稱 | 意思與說明 | ------------------- | -------------------------------------------------------- | `Name` | QOS 名稱,例如 `limited` | `Priority` | 這個 QOS 的作業優先級(越高代表排程優先) | `GraceTime` | 作業在被 preempt(搶占)前的緩衝時間(秒) | `Preempt` | 哪些 QOS 可以搶占這個 QOS(如果有 PreemptMode) | `PreemptExemptTime` | 被搶占前的豁免時間(秒) | `PreemptMode` | 是否允許搶占,例如 `OFF`, `CANCEL`, `SUSPEND` 等 | `Flags` | 額外設定,例如 `AllowQosJobPreempt`, `NoDecay`, `OverPartQOS` 等 | `UsageThres` | 當前資源使用超過此門檻後,優先級可能會被降低 | `UsageFactor` | 用於計算 fairshare 的比例因子,影響資源分配 | 欄位名稱 | 說明 | --------------- | -------------------------------------------------- | `GrpTRES` | 限制群組使用的 TRES(如 CPU、MEM、GPU)總量,例如:`cpu=1000,mem=1T` | `GrpTRESMins` | 群組可用 TRES 的總分鐘數 | `GrpTRESRunMin` | 群組在某一時間點的 TRES 使用上限(以分鐘計) | `GrpJobs` | 群組可同時運行的作業數量 | `GrpSubmit` | 群組可同時提交(不一定在跑)作業數 | `GrpWall` | 群組作業總共可使用的時間(牆時計)限制,例如 `10-00:00:00` 表示 10 天 | 欄位名稱 | 說明 | ---------------- | -------------------------------------- | `MaxTRES` | 單個作業可請求的最大 TRES(資源),如 `cpu=16,mem=64G` | `MaxTRESPerNode` | 每個節點允許的最大 TRES(避免用戶過度分配) | `MaxTRESMins` | 單個作業允許的最大總資源分鐘數(= CPU 數 \* 時間) | `MaxWall` | 單個作業允許的最長牆時計時間,例如 `1-00:00:00`(1 天) | `MaxTRESPU` MaxTRESPerUser | 每個使用者可使用的 TRES 數(即用戶整體使用資源上限) | `MaxJobsPU` | 每位使用者可同時運行的作業數量 | `MaxSubmitPU` MaxSubmitJobsPerUser MaxSubmitJobsPU | 每位使用者可同時提交的作業數量(包含等待與執行中) | 欄位名稱 | 說明 | ------------------ | -------------------- | `MaxTRESPA` | 每個帳號可使用的最大 TRES | `MaxJobsPA` | 每個帳號可同時執行的作業數 | `MaxSubmitPA` | 每個帳號可提交的作業數 | `MaxTRESRunMinsPA` | 每帳號可同時運行的 TRES 分鐘數上限
設定限制
sacctmgr modify qos where name=limited set MaxTRESPU=cpu=300 #設定最多CPU使用數量 sacctmgr modify qos where name=limited set MaxTRESPerUser=cpu=300 #新語法 sacctmgr modify qos where name=limited set MaxJobsPU=cpu=800 sacctmgr modify qos where name=limited set MaxJobsPerUser=800 #新語法 sacctmgr modify qos where name=limited set MaxSubmitJobsPU=2000 sacctmgr modify qos where name=limited set MaxSubmitJobsPerUser=2000
add account
sacctmgr add account emergency Description="High priority" Organization="Super" QOS=limited sacctmgr add account GPUgroup Description="GPU group" Organization="GPUGG" QOS=limited
adduser to 2 accounts
sacctmgr add user name=testuser account=science cluster=mycluster sacctmgr add user name=testuser account=admin cluster=mycluster sacctmgr modify user where name=testuser set DefaultAccount=science #設定預設帳號是science #SBATCH --account=admin # 指定使用哪個account
cgroup check
mount | grep cgroup modify /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=1" sudo update-grub