procesos zombies
Un proceso zombie se entiende cómo ese proceso que fue lanzado dentro de la cola PBS de gestión de trabajos, que ocupa espacio en el sistema del clúster, pero que actualmente no está en curso.
Esta situación suele ocurrir cuando el clúster se apaga de una manera no controloda, el espacio en el 'home' del clúster se llena.
Es importante que se paren estos procesos, puesto que suponen un sobre esfuerzo para los nodos en los cuáles estos procesos zombies están ejecutándose.
NOTA: este es el único caso en el cuál está permitido entrar en los nodos de cálculo del clúster.
Pasos a seguir
- Itendificar los procesos de la cola del sistema del usuario (ej. lluis.fita)
$ qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 4426.hydra wrf_control lluis.fita 1699:08: R larga 4427.hydra ...nsSFC-control lluis.fita 0 H larga 4432.hydra wrf_control50k pzaninelli 649:09:3 R larga 4433.hydra run_experiment pzaninelli 0 H larga 4438.hydra wrf_phy1 pzaninelli 645:40:5 R larga 4439.hydra run_experiment pzaninelli 0 H larga 4440.hydra WRF17O victoria.gallig 603:42:2 R larga 4441.hydra WRF17O victoria.gallig 600:18:4 R larga 4443.hydra WRF17O lluis.fita 0 Q larga
- El proceso
4426es una simulación de WRF.
$ qstat -f 4426
Job Id: 4426.hydra
Job_Name = wrf_control
Job_Owner = lluis.fita@node48
resources_used.cput = 1700:00:37
resources_used.mem = 6264020kb
resources_used.vmem = 15322976kb
resources_used.walltime = 72:40:26
job_state = R
queue = larga
server = hydra
Checkpoint = u
ctime = Sat Apr 7 10:47:06 2018
depend = beforeany:4427.hydra@hydra
Error_Path = node48:/home/lluis.fita/estudios/WRFsensSFC/simulations/contr
ol/wrf_control.e4426
exec_host = node48/23+node48/22+node48/21+node48/20+node48/19+node48/18+no
de48/17+node48/16+node48/15+node48/14+node48/13+node48/12+node48/11+no
de48/10+node48/9+node48/8+node48/7+node48/6+node48/5+node48/4+node48/3
+node48/2+node48/1+node48/0+node51/23+node51/22+node51/21+node51/20+no
de51/19+node51/18+node51/17+node51/16+node51/15+node51/14+node51/13+no
de51/12+node51/11+node51/10+node51/9+node51/8+node51/7+node51/6+node51
/5+node51/4+node51/3+node51/2+node51/1+node51/0
exec_port = 15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+15
003+15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+
15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+1500
3+15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+15003+15
003+15003+15003
Hold_Types = n
Join_Path = oe
Keep_Files = n
Mail_Points = ae
Mail_Users = lluis.fita@cima.fcen.uba.ar
mtime = Sat Apr 7 10:48:06 2018
Output_Path = node48:/home/lluis.fita/estudios/WRFsensSFC/simulations/cont
rol/wrf_control.o4426
Priority = 0
qtime = Sat Apr 7 10:47:06 2018
Rerunable = True
Resource_List.mem = 30gb
Resource_List.nodect = 2
Resource_List.nodes = 2:ppn=24
Resource_List.vmem = 30gb
Resource_List.walltime = 168:00:00
session_id = 19561
Variable_List = PBS_O_QUEUE=larga,PBS_O_HOST=node48,
PBS_O_HOME=/home/lluis.fita,PBS_O_LANG=en_US.UTF-8,
PBS_O_LOGNAME=lluis.fita,
PBS_O_PATH=/usr/local/bin:/opt/intel/composerxe-2011.3.174/bin/intel6
4:/usr/lib64/qt-3.3/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:
/usr/local/maui/bin:/usr/local/maui/sbin:/usr/local/bin:/opt/intel/com
poserxe/bin:/usr/local/maui/bin:/usr/local/maui/sbin:/home/lluis.fita/
bin:/opt/intel/composerxe-2011.3.174/mpirt/bin/intel64:/usr/local/maui
/bin:/usr/local/maui/sbin,PBS_O_MAIL=/var/spool/mail/lluis.fita,
PBS_O_SHELL=/bin/bash,PBS_SERVER=hydra,
PBS_O_WORKDIR=/home/lluis.fita/estudios/WRFsensSFC/simulations/contro
l
etime = Sat Apr 7 10:47:14 2018
submit_args = -W depend=afterany:4425 /home/lluis.fita/estudios/WRFsensSFC
/simulations/control/run_WRF.pbs
start_time = Sat Apr 7 10:47:14 2018
Walltime.Remaining = 343110
start_count = 1
fault_tolerant = False
submit_host = node48
init_work_dir = /home/lluis.fita/estudios/WRFsensSFC/simulations/control
- La variable
PBS_O_WORKDIRcontiene el path de ejecución del job. Se tiene que cercionar que el proceso (simulación WRF en este caso), está ejecutándose (en este caso si los rsl.out/error.[nnnn] se están actualizando). En este caso la ejecución del WRF se halla en $PBS_O_WORKDIR/run
$ ls -l /home/lluis.fita/estudios/WRFsensSFC/simulations/control/run/rsl.error.0000 rw-r--r-- 1 lluis.fita cima 1204224 Apr 8 19:07 /home/lluis.fita/estudios/WRFsensSFC/simulations/control/run/rsl.error.0000 $ date Tue Apr 10 11:32:35 ART 2018
- Está claro que el WRF no está ejecutándose adecuadamente. Así que se tendrá que entrar en el nodo en dónde se está ejecutando y parar el job, ya que el sistema de colas PBS no controla este proceso. El WRF se ejecuta en el nodo (valores de
exec_host) node48 y node51.
[lluis.fita@hydra ~]$ ssh node48
[lluis.fita@node48 ~]$ top
top - 11:35:40 up 5 days, 47 min, 0 users, load average: 23.00, 22.99, 23.03
Tasks: 246 total, 24 running, 198 sleeping, 0 stopped, 24 zombie
Cpu(s): 87.4%us, 8.4%sy, 0.0%ni, 4.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32942908k total, 18055956k used, 14886952k free, 3972k buffers
Swap: 0k total, 0k used, 0k free, 12102316k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21531 lluis.fi 20 0 508m 256m 28m R 100.0 0.8 4360:00 wrf.exe
21532 lluis.fi 20 0 503m 248m 23m R 100.0 0.8 4358:44 wrf.exe
21537 lluis.fi 20 0 503m 247m 23m R 100.0 0.8 4359:53 wrf.exe
21540 lluis.fi 20 0 507m 252m 23m R 100.0 0.8 4359:52 wrf.exe
21545 lluis.fi 20 0 503m 249m 24m R 100.0 0.8 4359:35 wrf.exe
21546 lluis.fi 20 0 503m 247m 22m R 100.0 0.8 4359:51 wrf.exe
21547 lluis.fi 20 0 507m 253m 23m R 100.0 0.8 4360:04 wrf.exe
21548 lluis.fi 20 0 507m 254m 24m R 100.0 0.8 4359:52 wrf.exe
21549 lluis.fi 20 0 495m 241m 23m R 100.0 0.7 4359:44 wrf.exe
21550 lluis.fi 20 0 507m 251m 23m R 100.0 0.8 4359:47 wrf.exe
21552 lluis.fi 20 0 501m 249m 27m R 100.0 0.8 4359:49 wrf.exe
21529 lluis.fi 20 0 507m 252m 24m R 99.7 0.8 4359:42 wrf.exe
21530 lluis.fi 20 0 500m 246m 25m R 99.7 0.8 4360:05 wrf.exe
21533 lluis.fi 20 0 507m 253m 23m R 99.7 0.8 4359:55 wrf.exe
21534 lluis.fi 20 0 507m 254m 24m R 99.7 0.8 4360:04 wrf.exe
21535 lluis.fi 20 0 507m 252m 24m R 99.7 0.8 4359:40 wrf.exe
21536 lluis.fi 20 0 503m 250m 24m R 99.7 0.8 4359:37 wrf.exe
21539 lluis.fi 20 0 507m 252m 24m R 99.7 0.8 4359:01 wrf.exe
21541 lluis.fi 20 0 503m 248m 23m R 99.7 0.8 4360:07 wrf.exe
21542 lluis.fi 20 0 500m 250m 27m R 99.7 0.8 4359:49 wrf.exe
21543 lluis.fi 20 0 500m 244m 23m R 99.7 0.8 4359:43 wrf.exe
21544 lluis.fi 20 0 507m 251m 23m R 99.7 0.8 4359:34 wrf.exe
21551 lluis.fi 20 0 507m 257m 27m R 99.7 0.8 4360:02 wrf.exe
[lluis.fita@node48 ~]$ killall wrf.exe
[lluis.fita@node48 ~]$ top
top - 11:37:32 up 5 days, 49 min, 0 users, load average: 19.46, 22.23, 22.79
Tasks: 199 total, 1 running, 197 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32942908k total, 12665572k used, 20277336k free, 3972k buffers
Swap: 0k total, 0k used, 0k free, 12048020k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
10 root 20 0 0 0 0 S 0.3 0.0 39:27.92 kworker/0:1
262 root 20 0 0 0 0 S 0.3 0.0 0:18.40 kpktgend_13
272 root 20 0 0 0 0 S 0.3 0.0 0:18.47 kpktgend_23
27134 lluis.fi 20 0 15280 1256 888 R 0.3 0.0 0:00.01 top
1 root 20 0 25660 1736 1428 S 0.0 0.0 0:05.71 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:01.17 ksoftirqd/0
[lluis.fita@node48 ~]$ exit
- Se repite el procedimiento en tantos nodos cómo ocupe el job (en este caso también
node51)
[lluis.fita@hydra ~]$ ssh node51 [lluis.fita@node51 ~]$ top [lluis.fita@node51 ~]$ killall wrf.exe [lluis.fita@node51 ~]$ top [lluis.fita@node51 ~]$ exit
- El job re-aparece cómo
cancelled(letraC)
[lluis.fita@hydra ~]$ qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 4426.hydra wrf_control lluis.fita 1703:44: C larga 4427.hydra ...nsSFC-control lluis.fita 0 R larga 4432.hydra wrf_control50k pzaninelli 654:14:4 R larga 4433.hydra run_experiment pzaninelli 0 H larga 4438.hydra wrf_phy1 pzaninelli 650:46:2 R larga 4439.hydra run_experiment pzaninelli 0 H larga 4440.hydra WRF17O victoria.gallig 608:46:5 R larga 4441.hydra WRF17O victoria.gallig 605:22:5 R larga 4443.hydra WRF17O lluis.fita 0 R larga
- Otros jobs que estabn en la cola PBS, ahora ya se están ejecutándose al liberarse los nodos! Se observa en el [ganglia] del sistema cómo los nodos 48 y 51, se descargan de carga de cálculo
