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.