GE : liste des commandes



Voici une liste des commandes GE principales. Pour obtenir la liste complète, voir le manuel en ligne de GE. Ces commandes appartiennent à trois catégories :

  • Les commandes de soumission et de monitoring des tâches
  • Les commandes de modification de l'état, des caractéristiques ou du comportement des tâches
  • Les commandes générales qui concernent toute la ferme de calcul

qsub

Cette commande permet de soumettre un job sur le système de batch GE. Voir la documentation sur la soumission des jobs.

> qsub test.sh
Your job 1264 ("test.sh") has been submitted

qstat

Cette commande donne l'état des tâches en cours.

qstat -s p|r|z -j jobid1,jobid2,...           // pending,running,zombie

Exemples :
- pour les jobs en exécution :

> qstat -s r
job-ID  prior  name  user  state  submit/start   at  queue  slots ja-task-ID 
---------------------------------------------------------------------------- 
1210  0.55500  test  santaklaus   r   07/19/2010 14:05:44  ge.q@...   1        
1211  0.55500  test  santaklaus   r   07/19/2010 14:05:46  ge.q@...   1        
1212  0.55500  test  santaklaus   r   07/19/2010 14:05:47  ge.q@...   1         
      

- pour les jobs terminés :

> qstat -s z
> qstat -s z
job-ID  prior  name  user  state  submit/start   at  queue  slots ja-task-ID 
---------------------------------------------------------------------------- 
  1209 0.00000 test santaklaus      qw    07/19/2010 14:01:08           1     

- plus d'information sur les jobs en exécution :

> qstat -j 1210,1213
==============================================================
job_number:                 1210
exec_file:                  job_scripts/1210
submission_time:            Mon Jul 19 14:05:44 2010
owner:                      santaklaus
uid:                        4628
group:                      ccin2p3
gid:                        102
sge_o_home:                 /afs/in2p3.fr/home/l/santaklaus
sge_o_log_name:             santaklaus
sge_o_path:                
/opt/sge6.2u5/bin/lx24-amd64:/usr/afsws/bin:/afs/in2p3.fr/throng/ccin2p3/scripts:/opt/sge6.2u5/bin/lx24-amd64:/opt/sge6.2u5/utilbin/lx24-amd64:/opt/sge6.2u5/bin/lx24-amd64:/opt/sge6.2u5/util:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
sge_o_shell:                /usr/local/bin/tcsh
sge_o_workdir:              /afs/test.in2p3.fr/home/l/santaklaus/test1
sge_o_host:                 ccalige01
account:                    sge
cwd:                        /afs/in2p3.fr/home/l/santaklaus/test1
mail_options:               bes
mail_list:                  rachid.santaklaus@cc.in2p3.fr
notify:                     FALSE
job_name:                   test
jobshare:                   0
hard_queue_list:            learn_ge.q
env_list:                   
script_file:                test.sh
usage    1:                 cpu=00:00:00, mem=0.00008 GBs, io=0.00930, vmem=12.180M, maxvmem=12.180M
scheduling info:            ...
==============================================================
job_number:                 1213
exec_file:                  job_scripts/1213
...

qacct

La commande qacct fourni les informations sur les tâches terminées. Par défaut, la commande permet d'accéder aux données des jobs 5 jours en arrière.

Pour obtenir l'information sur un job particulier déjà terminé (depuis moins de 5 jours), tapez :

> qacct -j <jobid>

Pour accéder aux données qui datent de plus de 5 jours, utilisez l'option “-f” :

> qacct -o <loginname> -j -f /opt/sge/ccin2p3/common/accounting.YYYY.MM

Par exemple, pour afficher les informations de vos jobs des 10 derniers jours :

> qacct -o <loginname> -j -d 10 -f /opt/sge/ccin2p3/common/accounting.YYYY.MM

Note : Le cpu-time des jobs est exprimé en HS06.secondes. Voir la section sur la consommation CPU des jobs pour plus de détails.


Le “exit_status” d'un job donné par la commande qacct est égal à 0 si le job s'est terminé correctement. Si une limite soft est dépassée, les signaux suivants sont envoyés :

exit_status corresponds to
152 = 24 (SIGXCPU) + 128SIGXCPU : dépassement de cpu ( _cpu ) ou mémoire ( _rss )
138 = 10 (SIGUSR1) + 128SIGUSR1 : dépassement du temps elapsed ( _rt )
153 = 25 (SIGXFSZ) + 128SIGXFSZ : dépassement de taille de fichier ( _fsize )

Si une limite hard est dépassée, un signal SIGKILL 137 = 9 (SIGKILL) + 128 est envoyé

qdel

Cette commande permet de supprimer une tâche :

> qdel 1214,1215
santaklaus has registered the job 1214 for deletion
santaklaus has registered the job 1215 for deletion

qhold

Cette commande permet de modifier l'état d'une tâche en queue afin de la mettre en pause. Cette tâche ne sera alors plus prise en compte lors de l'ordonnancement des tâches par le système de batch.

> qhold 1290
modified hold of job 1290  

qrls

Cette commande permet de libérer une tâche mise en pause via la commande qhold afin de demander son exécution. Elle peut être utilisée par exemple à la fin d'une tâche afin de libérer une autre tâche qui ne doit être exécutée qu'après une première tâche.

> qrls 1290
modified hold of job 1290

qalter

La commande qalter permet de modifier les demandes de ressources des jobs soumis avec la commande qsub et se trouvant encore en queue.

  • 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'email, …).

qmod

Cette commande envoie un signal à un job en cours d'exécution :
qmod -sj | -usf | -cd (suspend | unsuspend | clear error)

> qmod -sj 1277
santaklaus - suspended job 1277
> qmod -usj 1277
santaklaus - unsuspended job 1277

qresub

Cette commande permet de demander à GE de soumettre une copie d'un job existant, qu'il soit en queue ou en cours d'exécution. Le nouveau job sera identique mais aura un nouveau Job ID.

> qresub 1277
Your job 1278 ("test.sh") has been submitted

qacct

En plus du détail sur les jobs, qacct fournit les consommations (wallclock, temps cpu, temps système) pour un hostname, une queue, un groupe, un utilisateur, ou un job donné.
La consommation peut être restreinte aux jobs utilisant une ressource particulière (option “-l”).


> qacct -l hpss=1
Total System Usage
WALLCLOCK   UTIME   STIME     CPU       MEMORY       IO          IOW
=========================================================================
826         0.030   0.057     0.087     0.000        0.001       0.000

qquota

La commande qquota permet d'obtenir l'état des quota sur les ressources dans Grid Engine (“resource quota sets”).

qhost

La commande fournit l'état des noeuds disponibles dans Grid Engine, ainsi que les queues et les jobs associés.

  • ge_list_of_commands.txt
  • Dernière modification: 2018/01/17 15:21
  • par Quentin LE BOULC'H