User Tools

Site Tools


slurm_tips

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
slurm_tips [2025/07/22 12:20] admin_rosarioslurm_tips [2026/02/18 15:04] (current) bbruzzo
Line 1: Line 1:
 ====== Cheatsheet SLURM ====== ====== Cheatsheet SLURM ======
  
-==Ver logs desde login== +===== Ver logs de SLURM desde login ===== 
-<code>sudo -u slurm cat /var/log/slurmctld.log<code>+<code>sudo -u slurm cat /var/log/slurmctld.log</code>
  
 ==Actualizar partición== ==Actualizar partición==
 +Con el siguiente comando se actualiza temporalmente el tiempo máximo que puede tener un job para ingresar a una partición pero **hasta que se reincie el slurmctld** donde vuelve a tomar el que esté definido en slurm.conf:
  
 <code>scontrol update PartitionName=cpunode MaxTime=2-0</code> <code>scontrol update PartitionName=cpunode MaxTime=2-0</code>
  
-==Monitorear consumo de QOS==+===== Monitorear consumo de QOS =====
  
 <code>scontrol show assoc_mgr | grep "QOS=qosprueba(32)" -A 21</code> <code>scontrol show assoc_mgr | grep "QOS=qosprueba(32)" -A 21</code>
Line 41: Line 42:
  
 Donde 944 es la cantidad de horas disponibles y 943 es las utilizadas al momento. Donde 944 es la cantidad de horas disponibles y 943 es las utilizadas al momento.
 +
 +===== Cambiar de estado =====
 +Drain:
 +<code>
 +scontrol update NodeName=cn0xx State=DRAIN Reason="maintenance"
 +</code>
 +
 +Undrain:
 +<code>
 +scontrol update NodeName=cn0xx State=DOWN Reason="undraining"
 +scontrol update NodeName=cn0xx State=RESUME
 +</code>
 +
 +===== Agregar usuario administrador =====
 +<code>sacctmgr create user name=<user> account=users
 +sacctmgr modify user name=<user> set defaultaccount=users
 +sacctmgr modify user name=<user> set adminlevel=administrator
 +</code>
 +
 +===== Monitorear tiempo de espera y priority =====
 +
 +Si los usuarios se quejan de que su job tarda mucho en entrar, podemos 
 +en primera instancia utilizar squeue con un poco más de información:
 +
 +<code>
 +squeue -o "%.7i %.20V %.10a %.15u %.5t %.7C %.7Q %.R"
 +</code>
 +
 +Esto nos permite ver fecha de envío del job, y la priority del mismo, junto con el job size.
 +
 +Si queremos ver en más detalle calcular el tiempo de espera de cada job:
 +
 +<code>
 +sacct -Xa --starttime=0215 --parsable --endtime=now --format=JobID,Submit,Start,Priority,Account,User%10,AllocCPUs,State | awk -F'|' '
 +NR==1 {
 +    # Print header with fixed widths
 +    printf "%-15s %-20s %-20s %-10s %-10s %-10s %-10s %-12s %-10s\n", $1, $2, $3, $4, $5, $6, $7, $8, "WaitDays"
 +    next
 +}
 +$3 ~ /[0-9]/ {
 +    s1 = $2; s2 = $3;
 +    gsub(/[-T:]/, " ", s1);
 +    gsub(/[-T:]/, " ", s2);
 +    
 +    # Calculate days
 +    w_days = (mktime(s2) - mktime(s1)) / 86400;
 +
 +    # Print data rows with matching fixed widths
 +    # %-15s = string, left-aligned, 15 chars wide
 +    # %-10.2f = float, 2 decimals, 10 chars wide
 +    printf "%-15s %-20s %-20s %-10s %-10s %-10s %-10s %-12s %-10.2f\n", $1, $2, $3, $4, $5, $6, $7, $8, w_days
 +}'
 +
 +</code>
 +
 +Veremos que en la última columna está el tiempo que tardó el job en entrar a queue. 
 +
 +Ajustar la fecha de --starttime acordemente.
 +
 +
 +Para analizar usuarios por fairshare (peor fairshare) usar opción --reverse si se quiere ver al revez.
 +
 +<code>
 +sshare -aU | awk 'NR<=2; NR>2 {print $0 | "sort -k7,7rn"}'
 +</code>
slurm_tips.1753186838.txt.gz · Last modified: by admin_rosario