wiki:Monitorizacion

Version 1 (modified by rodri, 12 years ago) (diff)

--

Monitorización

Una vez hemos enviado un trabajo al cluster, podemos consultar el estado del mismo mediante:

  • dos ficheros de resultados que se crean en el directorio donde estaba el script ejecutado y en los que se reflejan la salida por pantalla de Matlab y los mensajes de error. Estos ficheros se nombran del siguiente modo:

Salida: nombre del script+o+JobId?

Errores: nombre del script+e+JobId?

  • un e-mail que recibirán los usuarios al finalizar su trabajo, con asunto: PBS JOB JobId?.ce01.macc.unican.es.

Desde oceano podemos utilizar distintos comandos u órdenes para consultar el estado de un trabajo, de la cola, etc. Introduzcamos los más útiles: '

qstat: Nos muestra por pantalla una tabla en la podemos observar el estado de la cola de trabajos. En caso de que no devuelva nada se entiende que no existe ningún trabajo activo ni en espera. La sintaxis es la siguiente: qstat -n.

[rodri@oceano ejemplo]$  qstat -n

ce01.macc.unican.es: 
                                                                   Req'd  Req'd   Elap
Job ID               Username Queue    Jobname    SessID NDS   TSK Memory Time  S Time
-------------------- -------- -------- ---------- ------ ----- --- ------ ----- - -----
120765.ce01.macc.uni lluis    hmem     Pswh0000__  22862     1  --    --    --  R 06:06
   wn023+wn023+wn023+wn023+wn023+wn023+wn023+wn023
120770.ce01.macc.uni lluis    hmem     Pswh0000__   2766     1  --    --    --  R 06:06
   wn018+wn018+wn018+wn018+wn018+wn018+wn018+wn018
120772.ce01.macc.uni lluis    hmem     Pswh0000__   6314     1  --    --    --  R 06:06
   wn015+wn015+wn015+wn015+wn015+wn015+wn015+wn015
120773.ce01.macc.uni lluis    hmem     Pswh0000__  14094     1  --    --    --  R 06:06
   wn014+wn014+wn014+wn014+wn014+wn014+wn014+wn014
120776.ce01.macc.uni lluis    hmem     Pswh0000__  27048     1  --    --    --  R 06:06
   wn011+wn011+wn011+wn011+wn011+wn011+wn011+wn011
120777.ce01.macc.uni lluis    hmem     Pswh0000__  13571     1  --    --    --  R 04:27
   wn010+wn010+wn010+wn010+wn010+wn010+wn010+wn010
120778.ce01.macc.uni lluis    hmem     Pswh0000__   8356     1  --    --    --  R 02:38
   wn024+wn024+wn024+wn024+wn024+wn024+wn024+wn024
120779.ce01.macc.uni lluis    hmem     Pswh0000__  21718     1  --    --    --  R 02:38
   wn017+wn017+wn017+wn017+wn017+wn017+wn017+wn017
120780.ce01.macc.uni lluis    hmem     Pswh0000__   6192     1  --    --    --  R 02:38
   wn020+wn020+wn020+wn020+wn020+wn020+wn020+wn020
120781.ce01.macc.uni lluis    hmem     Pswh0000__  17134     1  --    --    --  R 02:37
   wn025+wn025+wn025+wn025+wn025+wn025+wn025+wn025
120782.ce01.macc.uni lluis    hmem     Pswh0000__  20934     1  --    --    --  R 02:37
   wn021+wn021+wn021+wn021+wn021+wn021+wn021+wn021
120783.ce01.macc.uni lluis    hmem     Pswh0000__  15540     1  --    --    --  R 02:37
   wn013+wn013+wn013+wn013+wn013+wn013+wn013+wn013

Si queremos que nos liste solamente los trabajos propios podemos escribir: qstat -n | grep rodri.

[rodri@oceano ejemplo]$  qstat -n | grep rodri
121138.ce01.macc.uni rodri    macc     val_1    28628     1  --    --  48:00 R 05:30
121139.ce01.macc.uni rodri    macc     val_2    31232     1  --    --  48:00 R 03:37
121176.ce01.macc.uni rodri    macc     test     29987     1  --    --  48:00 R 00:05
121177.ce01.macc.uni rodri    macc     val_3    30127     1  --    --  48:00 C 00:01

Algunos de los parámetros mas representativos:

  • Job ID: identificador del trabajo (asignado por PBS).
  • Username: propietario del trabajo (usuario que lo envió).
  • Queue: cola en la que reside el trabajo.
  • Jobname: nombre del trabajo dado por el usuario o establecido por PBS en caso de no especificarse.
  • NDS: número de nodos solicitados.
  • TSK: número de tareas solicitadas.
  • Req'd Memory: cantidad de memoria solicitada.
  • Req'd Time: tiempo de reloj (wallclock) solicitado.
  • S: estado del trabajo:
    • E el trabajo está saliendo después de finalizar su ejecución.
    • H el trabajo está capturado.
    • Q el trabajo está en cola, elegible para su ejecución.
    • R el trabajo está ejecutándose.
    • T el trabajo está en transición (moviéndose a otra localización).
    • W el trabajo está a la espera de alcanzar el tiempo de ejecución.
    • S el trabajo está suspendido.
  • Elap Time: tiempo de CPU utilizado.

checkjob: Muestra por pantalla la información del trabajo que le especifiquemos mediante el JobId?. Se ejecuta del siguiente modo:ssh ce01 checkjob JobId?

[rodri@oceano ejemplo]$ ssh ce01 checkjob 121176
Scientific Linux CERN SLC release 4.6 (Beryllium)


checking job 121176

State: Running
Creds:  user:rodri  group:gmeteo  class:macc  qos:DEFAULT
WallTime: 00:07:29 of 2:00:00:00
SubmitTime: Wed Dec  9 18:18:11
  (Time Queued  Total: 00:00:02  Eligible: 00:00:02)

StartTime: Wed Dec  9 18:18:13
Total Tasks: 1

Req[0]  TaskCount: 1  Partition: DEFAULT
Network: [NONE]  Memory >= 0  Disk >= 0  Swap >= 0
Opsys: [NONE]  Arch: [NONE]  Features: [macc]
Allocated Nodes:
[wn007.macc.unican.es:1]


IWD: [NONE]  Executable:  [NONE]
Bypass: 0  StartCount: 1
PartitionMask: [ALL]
Flags:       BACKFILL

Reservation '121176' (-00:07:48 -> 1:23:52:12  Duration: 2:00:00:00)
PE:  1.00  StartPriority:  1

tracejob: Da información sobre los tiempos de trabajo del trabajo especificado por el JobId?. Estos tiempos pueden consultarse tanto antes como después de la finalización del trabajo. La llamada a esta función es:

ssh ce01 tracejob JobId?

[rodri@oceano ejemplo]$ ssh ce01 tracejob 121176
Scientific Linux CERN SLC release 4.6 (Beryllium)
/var/spool/pbs/server_priv/accounting/20091209: Permission denied
/var/spool/pbs/mom_logs/20091209: No such file or directory
/var/spool/pbs/sched_logs/20091209: No such file or directory

Job: 121176.ce01.macc.unican.es

12/09/2009 18:18:11  S    enqueuing into macc, state 1 hop 1
12/09/2009 18:18:11  S    Job Queued at request of rodri@oceano.macc.unican.es, owner = rodri@oceano.macc.unican.es, job name = test, queue = macc
12/09/2009 18:18:13  S    Job Modified at request of root@ce01.macc.unican.es
12/09/2009 18:18:13  S    Job Run at request of root@ce01.macc.unican.es
12/09/2009 18:18:13  S    Job Modified at request of root@ce01.macc.unican.es

qdel: Elimina un trabajo de la cola antes de que finalice. Para ello escribimos:

ssh ce01 qdel JobId?

[rodri@oceano ejemplo]$ qdel  121176

qsig: Este comando lo usaremos cuando se nos quede colgado un trabajo y no responda al comando qdel. Su sintaxis es la siguiente:

ssh ce01 qsig -s TERM JobId?

[rodri@oceano ejemplo]$ ssh ce01 qsig -s TERM 121176

Otros comandos:

  • qalter: Modificar los atributos de un trabajo encolado y pendiente de ejecución.
  • qhold: Marcar un trabajo como no elegible para su ejecución.
  • qlrs: Liberar un trabajo del estado de espera establecido con el comando qhold.
  • qorder: Cambiar el orden de dos trabajos en espera de ser ejecutados.
  • qmove: Mover trabajos de una cola a otra.
  • man pbs_resources: Información sobre los requerimientos que podemos usar.