Suivi, comptabilité et analyse des tâches effectuées
Suivi des jobs en cours
Vous pouvez obtenir la liste de vos travaux gérés par SLURM avec la commande
squeue -u $USER
Pour obtenir le détail d’un job dans une file d’attente, faire
scontrol show job JOBID
qui détaillera les ressources demandées, la date de soumission du job, la date prévisionnelle de démarrage de la tâche, le chemin vers le script de soumission, etc.
Pour estimer la date et l’heure du démarrage d’un job :
squeue -j JOBID --start
Comptabilité
Vous pouvez connaître l’ensemble des travaux que vous avez soumis avec la commande
sacct
Vous pouvez spécifier plusieurs options afin de faire un tri sur certains job, par exemple pour lister les jobs qui ont tourné entre deux dates données
sacct -S starting-date-and-time -E ending-date-and-time
Il peut être intéressant pour un job donné de connaître les ressources qu’il a utilisé, notamment en terme de temps et de mémoire. Avec sacct, faire
sacct -j JOBID -o "jobid, start, elapsed, state alloccpus, reqmem, maxvmsize, maxrss"
Il est possible aussi de sélectionner une liste de noeuds, par exemple
sacct -u $USER --nodelist haswell-t16-[01-02],haswell-t16-50
ou de trier sur une partition
sacct -u $USER --partition cascade
Pour connaître les ressources qui sont attribuées à votre compte :
sacctmgr list assoc user=$USER format=account,user,qos,maxjobs,maxtres
Pour connaître l’espace disque disponible sur votre compte HOME, utilisez la commande quota
quota -us
Pour avoir un historique de sa consommation en heures
sreport cluster UserUtilizationByAccount account=$USER -t hours Start=period-start-for-the-report
Analyse
seff
Pour obtenir le détail des ressources utilisées par une tâche terminée, faire
seff JOBID
Attention, si la tâche est encore en cours ou a été interrompue, les informations données seront incomplètes.
sacct
Les ressources utilisées par un job peuvent être regardées via la commande sacct
sacct --format='JobID,Elapsed,MaxRSS,MaxVMSize' -j <JOBID>
top
et htop
Lorsque le job est en cours, il est possible de se connecter sur les noeuds réservs, et de regarder l’usage des ressources par top
ou htop
.
Dans top
, SHIFT + 1
permet d’afficher les coeurs, m
montre l’usage global de la mémoire RAM et swap. Les deux commandes ont des menus d’aide en interactif.
ps
Dans un script batch, il peut être intéressant d’enregistrer l’usage des processus lancés via la commande ps
, par exemple en faisant
ps -C <executable-name> -o pid= -o pcpu= -o pmem= -o rss=
On peut enregistrer un historique au cours du temps en combinant cela avec un watch
, par exemple
while sleep 1; do ps -C <executable-name> -o pid= -o pcpu= -o pmem= -o rss=; done;