squeue
- wylistuj zadania w systemie kolejkowym
sstat
- wyświetl statystyki trwającego zadania
sacct
- wyświetl informacje o zakończonych zadaniach
reportseff
- umożliwia sprawdzenie wielu zadań spełniających określone kryteria
Informacji na temat statusu zadań można uzyskać za pomocą polecenia squeue.
Wywołanie polecenia bez podania dodatkowych parametrów, powoduje wyświetlenie informacji o wszystkich zadaniach.
Do uzyskania informacji o statusie swoich zadań, należy podać opcję --user=nazwa_użytkownika
lub -u nazwa_użytkownika
:
abcd@ui: ~ $ squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
142 test bash abcd R 0:18 1 wn1701
lub dłuższą wersję:
abcd@ui: ~ $ squeue -u abcd --long
Mon Jul 05 10:44:43 2021
JOBID PARTITION NAME USER STATE TIME TIME_LIMI NODES NODELIST(REASON)
142 test bash abcd RUNNING 8:23 UNLIMITED 1 wn1701
Gdzie:
JOBID | Numer zadania |
PARTITION | Nazwa partycji |
NAME | Nazwa zadania |
USER | Właściciel zadania |
STATE | Status zadania (zobacz niżej) |
TIME | Czas wykonanie |
TIME_LIMIT | Maksymalny czas wykonania zadania (INFINITY, oznacza nieograniczony czas) |
NODES | Liczba węzłów przedzielonych zadaniu |
NODELIST | Nazwa węzłów na których uruchomione jest zadanie |
Status może mieć wartość:
Status | Kod | Opis |
---|---|---|
COMPLETED | CD | Zadanie zostało ukończone pomyślnie |
COMPLETING | CG | Zadanie jest w trakcie kończenia pracy |
FAILED | F | Zadanie zakończyło się błędem |
PENDING | PD | Oczekuje na alokację zasobów |
PREEMPTED | PR | Zadanie zostało wywłaszczone przez inne zadanie |
RUNNING | R | Uruchomione (w trakcie pracy) |
SUSPENDED | S | Zatrzymane z dealokacją zasobów |
Polecenie scancel służy do zakończenie zadania i usunięcia go z kolejki. Aby usunąć zadanie, należy znać jego JOBID
odczytany poleceniem squeue.
abcd@ui: ~ $ squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
613 test bash abcd R 0:05 1 wn1701
614 test bash abcd R 1:05 1 wn1702
615 test bash abcd R 1:05 1 wn1703
abcd@ui ~>scancel 613
abcd@ui ~>squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
614 test bash abcd R 1:05 1 wn1702
615 test bash abcd R 1:05 1 wn1703
Możemy również usunąć kilka zadań jednym poleceniem
abcd@ui: ~ $ squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
613 test bash abcd R 0:05 1 wn1701
614 test bash abcd R 1:05 1 wn1702
615 test bash abcd R 1:05 1 wn1703
abcd@ui ~>scancel 613 615
abcd@ui ~>squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
614 test bash abcd R 1:05 1 wn1702
Lub wszystkie zadania
abcd@ui: ~ $ squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
613 test bash abcd R 0:05 1 wn1701
614 test bash abcd R 1:05 1 wn1702
615 test bash abcd R 1:05 1 wn1703
abcd@ui: ~ $ scancel -u abcd
abcd@ui: ~ $ squeue -u abcd
JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
sstat
Bardziej szczegołówy status zadania można uzyskać za pomocą polecenie sstat. Polecenie wymaga jako parametr JOBID
odczytanego za pomocą polecenia squeue. Ze względu na duże ilości wyświetlanych kolumn, zaleca się używania opcji --fields=
.
Przykład polecenia sstat:
abcd@ui: ~ $ sstat 581969
JobID MaxVMSize MaxVMSizeNode MaxVMSizeTask AveVMSize MaxRSS MaxRSSNode MaxRSSTask AveRSS MaxPages MaxPagesNode MaxPagesTask AvePages MinCPU MinCPUNode MinCPUTask AveCPU NTasks AveCPUFreq ReqCPUFreqMin ReqCPUFreqMax ReqCPUFreqGov ConsumedEnergy MaxDiskRead MaxDiskReadNode MaxDiskReadTask AveDiskRead MaxDiskWrite MaxDiskWriteNode MaxDiskWriteTask AveDiskWrite TRESUsageInAve TRESUsageInMax TRESUsageInMaxNode TRESUsageInMaxTask TRESUsageInMin TRESUsageInMinNode TRESUsageInMinTask TRESUsageInTot TRESUsageOutAve TRESUsageOutMax TRESUsageOutMaxNode TRESUsageOutMaxTask TRESUsageOutMin TRESUsageOutMinNode TRESUsageOutMinTask TRESUsageOutTot
------------ ---------- -------------- -------------- ---------- ---------- ---------- ---------- ---------- -------- ------------ -------------- ---------- ---------- ---------- ---------- ---------- -------- ---------- ------------- ------------- ------------- -------------- ------------ --------------- --------------- ------------ ------------ ---------------- ---------------- ------------ -------------- -------------- ------------------ ------------------ -------------- ------------------ ------------------ -------------- --------------- --------------- ------------------- ------------------- --------------- ------------------- ------------------- ---------------
581969.0 864K r21c01b06 0 864K 840K r21c01b06 0 840K 0 r21c01b06 0 0 00:00:00 r21c01b06 0 00:00:00 1 3.41M Unknown Unknown Unknown 0 752302 r21c01b06 0 752302 18100 r21c01b06 0 18100 cpu=00:00:00,+ cpu=00:00:00,+ cpu=r21c01b06,ene+ cpu=00:00:00,fs/d+ cpu=00:00:00,+ cpu=r21c01b06,ene+ cpu=00:00:00,fs/d+ cpu=00:00:00,+ energy=0,fs/di+ energy=0,fs/di+ energy=r21c01b06,f+ fs/disk=0 energy=0,fs/di+ energy=r21c01b06,f+ fs/disk=0 energy=0,fs/di+
A ten sam przykład z użyciem --fields
abcd@ui ~ $ sstat --fields=JobID,MaxVMSize,MaxVMSizeNode,MaxVMSizeTask,AveCPU 581969
JobID MaxVMSize MaxVMSizeNode MaxVMSizeTask AveCPU
------------ ---------- -------------- -------------- ----------
581969.0 872K r21c01b06 0 00:00:00
Pełną listę zmiennych określających dane obsługiwane przez sstat
można znaleźć za pomocą flagi --helpformat
lub odwiedzając stronę slurm na sstat
ssact
Domyślnie sacct
wyświetla informacje o zadaniach oczekujących,uruchomionych i ostatnio ukończonych.
Jeśli chcesz uzyskać informacje o starszych zadaniach lub tylko o okreslonym statusie— możesz dodać flagi do sacct
,aby zawęzić wyszukiwanie. pełna lista dostępna na stronie w dokumentacji Slurma lub używając flagi --helpformat
lub polecenia man sacct
Przykład Flag
--jobs
(podejemy jobid)--format
(Podobnie jak sstat
standardowe wyjście sacct
może nie dostarczyć nam potrzebnych informacji. Aby temu zaradzić, możemy użyć --format
flagi, aby wybrać, co chcemy uzyskać w wynikach. Podobnie flaga formatu jest obsługiwana przez listę zmiennych oddzielonych przecinkami, które określają dane wyjściowe:Variable | Description |
---|---|
account | Account the job ran under. |
avecpu | Average CPU time of all tasks in job. |
averss | Average resident set size of all tasks in the job. |
cputime | Formatted (Elapsed time * CPU) count used by a job or step. |
elapsed | Jobs elapsed time formated as DD-HH:MM:SS. |
exitcode | The exit code returned by the job script or salloc. |
jobid | The id of the Job. |
jobname | The name of the Job. |
maxdiskread | Maximum number of bytes read by all tasks in the job. |
maxdiskwrite | Maximum number of bytes written by all tasks in the job. |
maxrss | Maximum resident set size of all tasks in the job. |
ncpus | Amount of allocated CPUs. |
nnodes | The number of nodes used in a job. |
ntasks | Number of tasks in a job. |
priority | Slurm priority. |
qos | Quality of service. |
reqcpu | Required number of CPUs |
reqmem | Required amount of memory for a job. |
user | Username of the person who ran the job. |
Przykłady
(base) user@ui: ~ $ sacct --jobs=581969 --format=jobid,jobname,qos,cputime,ncpu,avecpu,elapsed,avevmsize
JobID JobName QOS CPUTime NCPUS AveCPU Elapsed AveVMSize
------------ ---------- ---------- ---------- ---------- ---------- ---------- ----------
581969 random_fo+ hpc-xxx 18-17:46:00 10 1-20:58:36
581969.bat+ batch 18-17:46:10 10 17-07:27:+ 1-20:58:37 21394328K
581969.ext+ extern 18-17:46:00 10 00:00:00 1-20:58:36 12K
Można wyświetlić informacje o wszystkich zadaniach konkretnego użytkownika
podając swoją nazwę użytkownika. Domyślnie sacct
polecenie wyświetli tylko informacje o pracy użytkownika z bieżącego dnia. Używając --starttime
flagi, polecenie będzie szukać dalej do podanej daty
sacct --user=your_username --starttime=YYYY-MM-DD
(base) ullu23@ui: ~ $ sacct --user=mjaw --starttime=2024-06-10
JobID JobName Partition Account AllocCPUS State ExitCode
------------ ---------- ---------- ---------- ---------- ---------- --------
581969 200-pbe-d+ normal hpc-user-+ 48 RUNNING 0:0
581969.bat+ batch hpc-user-+ 48 RUNNING 0:0
581969.ext+ extern hpc-user-+ 48 RUNNING 0:0
581968 270-pbe-d+ normal hpc-user-+ 48 RUNNING 0:0
581968.bat+ batch hpc-user-+ 48 RUNNING 0:0
581968.ext+ extern hpc-user-+ 48 RUNNING 0:0
581967 500-pbe-d+ normal hpc-user-+ 24 COMPLETED 0:0
581967.bat+ batch hpc-user+ 12 COMPLETED 0:0
581967.ext+ extern hpc-user-+ 24 COMPLETED 0:0
Reportseff
to skrypt w języku Python, który pozwala przyjrzeć się wykorzystaniu wielu zadań lub monitorować użycie - generuje raport tabelaryczny.
Został napisany tak, aby mozna było używać tej samej składni,co w przypadku sacct
. Na przykład przy wskazywaniu zakresów czasowych lub pytaniu o zmianę formatu wyjściowego.
Konieczne jest użycie całej ścieżki /opt/reportseff/bin/reportseff
(base) user3@ui: ~ $ /opt/reportseff/bin/reportseff -u user --since 2024-05-24 --until 2024-05-26 -s CD --format "+user,nodelist,start,end,cpueff,memeff"
JobID State Elapsed TimeEff CPUEff MemEff User NodeList Start End CPUEff MemEff
2776629 COMPLETED 00:00:35 1.0% --- 0.0% user r30c02b07 2024-05-24T11:53:21 2024-05-24T11:53:56 --- 0.0%
2777845 COMPLETED 00:00:05 0.1% --- 0.0% user r21c01b02 2024-05-24T14:38:39 2024-05-24T14:38:44 --- 0.0%
2777858 COMPLETED 00:00:04 0.1% --- 0.0% user r21c01b02 2024-05-24T14:44:08 2024-05-24T14:44:12 --- 0.0%
2777882 COMPLETED 00:00:02 0.1% --- 0.0% user r21c01b02 2024-05-24T14:53:10 2024-05-24T14:53:12 --- 0.0%
2777883 COMPLETED 00:00:02 0.1% --- 0.0% user r21c01b02 2024-05-24T14:54:03 2024-05-24T14:54:05 --- 0.0%
2777888 COMPLETED 00:00:02 0.1% --- 0.0% user r21c01b02 2024-05-24T14:56:16 2024-05-24T14:56:18 --- 0.0%
Polecenie resused
pozwala zobaczyć w formacie tabeli - zużycie przez użytkownika zasobów klastra z ostatnich 15 zadań w ciągu ostatniego tygodnia:
user@ui: ~ $ resused
Your cluster resource usage from last 15 jobs within last week:
JobID JobName State Elapsed TimeEff CPUEff MemEff
2837281 test0004 COMPLETED 00:00:47 0.2% 40.4% 0.0%
2837283 test0004 COMPLETED 00:00:39 0.2% 51.3% 1.5%
2837297 test0004 COMPLETED 00:00:44 0.2% 45.5% 0.0%
2837299 test0004 COMPLETED 00:00:43 0.2% 44.2% 1.5%
2837303 test0004 COMPLETED 00:00:40 0.2% 47.5% 1.5%
2837304 test0004 COMPLETED 00:00:38 0.2% 52.6% 1.7%
2837305 test0004 COMPLETED 00:00:49 0.2% 42.9% 0.0%
2837318 test0004 COMPLETED 00:00:54 0.2% 38.9% 0.0%
2837322 test0002 COMPLETED 00:01:07 0.3% 28.4% 1.9%
2837348 test0002 COMPLETED 00:00:51 0.2% 41.2% 0.0%
2843399 test0002 COMPLETED 00:01:16 0.4% 27.6% 0.0%
2843433 test0002 COMPLETED 00:01:21 0.4% 24.7% 0.0%
2843580 test0002 COMPLETED 00:00:36 0.2% 55.6% 1.9%