Related commands

出自DDCC TCAD TOOL Manual
跳至導覽 跳至搜尋

管理介面 重新載入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

jobexample.sh
How to submit job
related commands