Suivi de l'avancement des Jobs, Jobs Steps et utilisation des ressources

La commande "sacct" permet d'obtenir un grand nombre d'information sur les Jobs et leurs Steps. Documentation officielle : https://slurm.schedmd.com/sacct.html

- La commande suivante affiche les informations par défaut du Job n°1234 :

La première ligne correspond au Job entier et les lignes suivantes (JobID suivi d'un point '.') indiquent les différents Steps du Job. Le Step "763.2" (3ème Step du Job 763) est ici en cours d'exécution (State : RUNNING).

- L'option "--format" (ou "-o", version courte) permet de choisir les champs à afficher et leur taille à l'écran (en utilisant '%'). De nombreux attributs sont disponibles ; consultez la documentation pour la liste complète et leur signification.

Les informations affichées sont ici choisies et le champ JobName affiche désormais le nom complet du Job et des Steps.

- Affichage des statistiques d'utilisation des ressources (CPU/RAM/Disque…) :

Note : Certains attributs ne sont disponibles qu'une fois le Step terminé.

Note 2 : Il est possible de modifier le format d'affichage des dates en modifiant la variable d'environnement SLURM_TIME_FORMAT. Le format de date utilisé par Slurm est celui de la fonction C "strftime" (http://man7.org/linux/man-pages/man3/strftime.3.html).

L'exemple ci-dessus utilise le format de date français (JJ/MM/AAAA hh:mm:ss). Pour définir le format des dates, le plus simple est d'ajouter la ligne suivante au fichier ".bashrc" de votre HOME utilisateur :

- Affichage pour un Job exécutant des Steps en parallèle :

Note : L'allocation est ici de 18 CPUs au lieu des 6 précédents (3 Tasks de 6 CPUs sont exécutées en parallèle).

- Pour ceux qui souhaiteraient récupérer ces informations pour les traiter dans un script (et/ou les formater dans un autre langage), sacct dispose des options "--parsable" et "--parsable2" qui retournent les même informations mais dont les champs sont séparées par un "pipe" ("|"). En mode "parsable", les tailles de champs ("%..") sont inutiles, les valeurs non tronquées étant toujours retournées. La différence entre ces deux options est que "--parsable" ajoute un "|" en fin de ligne alors que "--parsable2", non.

Note : L'option "--noheader" permet par ailleurs de ne pas afficher les en-têtes dans le résultat.