Le client Torque sur le UI : la commande qstat ============================================== La grille utilise un système de batch (ici Torque/MAUI). Sur le UI ipngrille, la partie cliente de ce système de batch vient d'être installée. Mais comme nous somme dans un contexte de grille, seule la commande qstat (sur une vingtaine de commandes disponibles) sera vraiment utile. La commande qstat permet de connaitre plus rapidement et plus en détails l'état de vos jobs ainsi que l'occupation des CPUs. Elle n'affiche pas le jobID fourni par le WMS mais un jobId propre au système de batch. Pour remonter au jobID du WMS, utiliser les commandes (alias) gjobid ou gjobid12 (voir plus bas). qstat intérroge le serveur batch (ipnls2001.in2p3.fr par défaut). Vous pouvez également interroger le 2ème serveur batch ipngrid12.in2p3.fr en indiquant (@ipngrid12.in2p3.fr ou @ipngrid12) à la suite de la commande qstat. Pour avoir de l'aide sur la commande, faire 'man qstat'. 1. Connaitre le nombre de jobs running et en queue --------------------------------------------------- Pour tout le CE (serveur batch): qstat -q (i.e. qstat -q @ipnls2001.in2p3.fr) qstat -q @ipngrid12.in2p3.fr Pour une queue particulire: qstat -q ipno qstat -q ipno@ipngrid12.in2p3.fr Les colonnes 'Run' et 'Que' indiquent le nombre de jobs 'Qunning' et en 'Queue'. La colonne Lm, indique le nombre max de jobs pour cette queue. 2. Afficher les jobs en cours avec leur Id,User,et temps CPU consommé -------------------------------------------------------------------- qstat (i.e. qstat @ipnls2001.in2p3.fr) --> tous les jobs de ipnls2001 qstat @ipngrid12.in2p3.fr --> tous les jobs de ipngrid12 qstat ipno --> jobs sur la queue radio de ipnls2001 qstat radio@ipnls2001.in2p3.fr --> jobs sur la queue radio de ipnls2001 qstat ipno@ipngrid12.in2p3.fr --> jobs sur la queue ipno de ipngrid12 Les colonnes intéressantes sont : * 'Job id' : le Job Id au niveau de Torque (à ne pas confondre avec le job Id fourni par le WMS et qui commence par https://...) * User : l'utilisateur sur lequel vous êtes mappé en fonction de votre certificat * Time: le temps CPU consommé en hh:min:sec * S : le Status du job : R=Running, Q=Queued, E=Exiting, ... (voir man qstat) * Queue: le nom de la queue batch 3. Afficher plus de détails sur un job : qstat -f jobId ------------------------------------------------------- Exemple: 3 commandes ayant le même effet qstat -f 110190 qstat -f 110190.ipnls2001 qstat -f 110190.ipnls2001.in2p3.fr Ici, 110190.ipnls2001 est le jobId affiche par qstat Pour ipngrid12, par exemple : qstat -f 56108.ipngrid12 (ou qstat -f 56108.ipngrid12.in2p3.fr) qstat -f ou (qstat -f @ipngrid12.in2p3.fr) affiche le détail de tous les jobs 4. Savoir sur quel utilisateur vous êtes mappés et afficher ses jobs -------------------------------------------------------------------- Votre job s'exécute avec les droits d'un autre utilisateur différent de vous. Vous êtes mappés sur un utilisateur (différent selon le CE) qui ne devrait normalement pas changé. gwhoami ---> donne le User name pour ipnls2001 (ex: ipno021) gwhoami12 ---> donne le User name pour ipngrid12 (ex: ipno052) qstat -u ipno021 --> affiche les jobs de ipno021 sur ipnls2001 qstat -u ipno052 @ipngrid12 --> affiche les jobs de ipno052 sur ipngrid12 N.B.: éviter d'utiliser trop souvent les alias gwhoami ou gwhoami12. Elles sont "lourdes". Conserver quelque part la réponse (ipnoxxx) pour chaque CE pour éviter d'avoir à retaper souvent ces commandes. 5. Jobs MPI: connaitre le nombre de CPUs et le nom des WNs ----------------------------------------------------------- Pour savoir combien de CPUs (et lesquels) utilise un job: qstat -n -1 (i.e qstat -n @ipnls2001.in2p3.fr qstat -n -1 @ipngrid12.in2p3.fr Et pour la queue ipno uniquement par exemple: qstat -n -1 ipno (i.e qstat -n -1 @ipnls2001.in2p3.fr) qstat -n -1 ipno@ipngrid12.in2p3.fr Le champs intéressant ici est NDS (le nombre de CPUs). Il y a un bug qui fait que cette valeur n'est pas toujours bonne mais la liste complète des noeuds utilisées est affichée correctement. L'option -1 évite que chaque jobs s'affiche sur 2 lignes. 6. Connaitre le temps max autorisé sur une queue et l'état de la queue --------------------------------------------------------------------- qstat -Qf qstat -Qf ipno qstat -Qf @ipngrid12.in2p3.fr qstat -Qf ipno@ipngrid12.in2p3.fr 7. Connaitre le WMS jobID (de la forme http://...) associé a un jobId (de la forme 119128.ipnls2001) ----------------------------------------------------------------------------- Ces commandes son assez lourdes et lentes et il faut donc les utiliser avec modération. Pour connaître le jobID WMS associé a un jobID donné par qstat, faire : gjobid ou gjobid12 Exemple: [diarra@ipngrid01 ~]$ gwhoami ipno021 [diarra@ipngrid01 ~]$ qstat -u ipno021 ipnls2001.in2p3.fr: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory TimeS Time -------------------- -------- -------- ---------- ------ ----- --- ------ ------ ----- 132319.ipnls2001.in2 ipno021 ipno STDIN 24587 -- -- -- 2400:R 00:00 132320.ipnls2001.in2 ipno021 ipno STDIN 28721 -- -- -- 2400:R 00:00 [diarra@ipngrid01 ~]$ [diarra@ipngrid01 ~]$ gjobid 132319 (ou gjobid 132319.ipnls2001) https://grid02.lal.in2p3.fr:9000/EqIYyvH0nO5S0gCp9-6t7Q [diarra@ipngrid01 ~]$ gjobid 132320 (ou gjobid 132320.ipnls2001) https://grid02.lal.in2p3.fr:9000/kKLySW3a2gAFa1cUbGrx3A [diarra@ipngrid01 ~]$ gwhoami12 ipno052 [diarra@ipngrid01 ~]$ qstat -u ipno052 @ipngrid12 ipngrid12.in2p3.fr: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory TimeS Time -------------------- -------- -------- ---------- ------ ----- --- ------ ------ ----- 58124.ipngrid12.in2p ipno052 ipno STDIN -- -- -- -- 2400:Q -- [diarra@ipngrid01 ~]$ gjobid12 58124.ipngrid12 https://node27.datagrid.cea.fr:9000/32QIWe447HPn_nRm2OZQxA 8. Deplacer un job d'une queue vers l'autre sur le meme CE ----------------------------------------------------------- Pour deplacer le job en attente 161254.ipnls2001 vers la queue ipno. /opt/globus/bin/globus-job-run ipnls2001.in2p3.fr \ /usr/bin/qmove ipno 161254.ipnls2001 Pour deplacer tous les jobs en attente de l'utilisateur ipno021 de la queue radio vers la queue ipno : /opt/globus/bin/globus-job-run ipnls2001.in2p3.fr /usr/bin/qmove ipno `/usr/bin/qselect -u ipno021 -q radio -s Q`