procesos zombies
De Wikicima
Revisión a fecha de 12:59 10 abr 2018; Lluis.fita (Discusión | contribuciones)
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
4426
es 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_WORKDIR
contiene 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
- Si el job no fuera cancelado, se hace encesaria la cancelación manual
$ qdel 4426
- 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