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;