Suivi des jobs

La commande qstat

Vous pouvez consulter l’état de vos jobs en attente ou en cours d’exécution avec la commande qstat. Vous obtenez des informations sur l’état actuel de votre job :

job-ID  prior   name       user  state submit/start at     queue slots ja-task-
-------------------------------------------------------------------------------
5947764 0.00000 hello_worl login  qw   09/31/2019 16:22:23         1

Ici, le job est en attente (statut qw : queued and waiting). Les statuts les plus courants sont :

r : running (job en exécution)
Rr : running, re-submit (job en exécution qui a été relancé)
qw : queued and waiting (job en attente)
Eqw : queues and waiting with error (job en erreur en attente)

Les autres statuts possibles sont listés ici :

Category State GE Letter Code
Pending pending qw
pending, user hold hqw
pending, system hold hqw
pending, user and system hold hqw
pending, user hold, re-queue hRwq
pending, system hold, re-queue hRwq
pending, user and system hold, re-queue hRwq
Running running r
transferring t
running, re-submit Rr
queued, re-submit Rq
transferring, re-submit Rt
Suspended job suspended s, ts
queue suspended S, tS
queue suspended by alarm T, tT
all suspended with re-submit Rs, Rts, RS, RtS, RT, RtT
Error all pending states with errors Eqw, Ehqw, EhRqw
Deleted all running and suspended states with deletion dr, dt, dRr, dRt, ds, dS, dT, dRs, dRS, dRT

La commande qstat comporte plusieurs options qui peuvent être utiles :

-s <p|r|s>
affiche les jobs se trouvant dans un état spécifique (“p” pour pending, “r” pour running, et “s” pour suspended).
-u <@groupname>
affiche les jobs d’un groupe
-j <jobid>
affiche des informations détaillées sur un job particulier (s’il est toujours en attente ou en exécution)
-nenv
réduit la verbosité
-r
affiche des informations sur les ressources demandées par un job
-ext
affiche d’autres informations supplémentaires sur les jobs tels que le projet utilisé

Pour connaitre toutes les options possibles, voir :

% man qstat

Les commandes utiles

Supprimer des jobs

Les jobs peuvent être supprimés avec la commande qdel. Vous pouvez supprimer seulement vos propres jobs. Pour annuler l’ensemble de vos jobs :

% qdel -u <loginname>

Pour annuler un ou plusieurs jobs :

% qdel <jobid>[,jobid,...]

Pour annuler une tâche d’un job tableau :

% qdel <jobid>.<taskid>

Pour annuler plusieurs tâches d’un job tableau :

% qdel <jobid>.<taskid_first>-<taskid_last>[:intervalle]
# ou avec l'option -t
%  qdel <jobid> -t <taskid first>-<taskid last>[:intervalle]

Tapez man qdel pour connaître toutes les options de la commande qdel.

Modifier des jobs

La commande qalter permet de modifier les demandes de ressources des jobs se trouvant encore en attente. Pour modifier une ressource d’un job, par exemple la mémoire demandée :

% qalter -mods l_hard s_rss 2G <jobid>

Pour ajouter une ressource à un job, par exemple “sps” :

% qalter -adds l_hard sps 1 <jobid>

Pour supprimer une ressource d’un job, par exemple “hpss” :

% qalter -clears l_hard hpss <jobid>

Pour supprimer toutes les ressources d’un job :

% qalter -clearp l_hard <jobid>

Pour remplacer la liste des ressources d’un job :

% qalter -l resource=value[,resource2=value2,resource3=value3] <jobid>

Tapez man qalter pour voir toutes les options possibles (changement de queue, d’e-mail etc.).

Suspendre et libérer un job

Vous pouvez suspendre un ou plusieurs jobs soumis avec la commande qhold :

%  qhold <jobid>

Pour libérer le job suspendu avec la commande qhold utilisez la commande qrls :

% qrls <jobid>