Top y procesos Zombies

Forums: 

Buen día: Mirando la salida del comando top me encuentro con un proceso zombie. Nunca me había pasado. Como se sabe cual es el proceso para poder matarlo?
Gracias

Te debería decir el PID en

Imagen de deathUser

Te debería decir el PID en el top, pero si no lo hace, prueba:

ps auxw | grep defunct

Ese debería ser el proceso zombie, aunque esos procesos al ser zombies no suelen morir (porque ya están muertos) así que en una reiniciada se van...

Otra solución para los zombies ...???

bye
:)

Un zombie es un proceso que

Imagen de Epe

Un zombie es un proceso que murió sin avisarle al padre o al kernel. Esto es lo que aprendí en el semestre de sistemas operativos en la universidad.

El kernel mantiene una entrada en la lista de procesos para este proceso, sin embargo el proceso ya no está.

No puedes matarlo pues no está, pero esa entrada en la lista de procesos está gastándose por gusto. Es decir, si tienes muchos zombies (miles, decenas de miles) quizá se te agote la lista de procesos que mantiene el kernel.

Solución? Esto no debe ocurrir, averigua quien está quedando zombie y arregla ese programa, actualízalo el sistema operativo por si acaso es una aplicación propia del sistema operativo.

El kernel solito irá matando los zombies no es de preocuparse.

Los zombies ocurren a menudo en el servidor apache (web) no por culpa del apache, sino porque los procesos que ejecuta el apache (php, perl, algo de jsp, etc) quizá estén muriendo sin avisarle al padre (apache) y por eso los zombies.. no es cuestión del apache.

Mira este caso actual de mi uno de mis servidores:

top - 13:37:56 up 115 days, 3:31, 2 users, load average: 4.27, 3.58, 4.23
Tasks: 206 total, 6 running, 196 sleeping, 0 stopped, 4 zombie

Mira unos segundos después:


top - 13:38:32 up 115 days, 3:31, 2 users, load average: 5.97, 4.06, 4.36
Tasks: 208 total, 6 running, 202 sleeping, 0 stopped, 0 zombie

Si te fijas, como mismo hay zombies, como no hay. En realidad es algo que NO DEBERIA OCURRIR, si lo puedes reparar, mejor.. si está en tus manos arreglar la aplicación que queda zombie; pero es sólo para liberar una entrada de la lista de procesos que igual el kernel se ocupa de liberar poco tiempo después.

Espero haya ayudado.

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Siempre un gusto ayudar, soy

Imagen de Epe

Siempre un gusto ayudar, soy amigo de todo el que quiera aprender sinceramente y siempre ayudaré al que lo necesite.

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

realmente gracias por la

realmente gracias por la clasecita.
De todas formas no se cual es que queda Zombie, y tuve que reiniciar.
Esto ocurre en el server (Ubuntu 6.10)que comparte internet en una red Win XP.
Lo que me extraña es que aparecen los Zombies, al indicar que el user mail estra ejecutando el comando sendmail. Pero no tengo instalado ningun MTA.
Me fijo en lo accesos del firewall, bajo Firestarter :( y no tengo nada anormal.
Algun comentario, ya que no me gusta reiniciar mi Linux.

Como dice EPE, un zombie no

Imagen de deathUser

Como dice EPE, un zombie no debería causar problemas, aunque en un solaris hace años un zombie se quedaba bloqueando un archivo y no dejaba subir un servicio, pero como ya lo dijo EPE, es un problema del software que deja los zombies, si no desaparecen los zombies y se te llena la tabla de procesos, pues ahi si es un problema, caso contrario, por mantenimiento es recomendable reiniciar los servidores con cierta periodicidad :)

Hazle un ps auxw | less y busca algo raro ...

Suerte ...

bye
:)

cree en lo que ves.. ps ax

Imagen de Epe

cree en lo que ves.. ps ax qué dice ps ax?

tienes que mirar quien aparece con una Z al lado.

Insisto no es anormal, no le ponas mucha preocupación a no ser que sean decenas, o miles y que sean persistentes (que no se puedan borrar)

Actualiza tu sistema, cualquiera sea la distribución lo principal es poder actualizar, mas que lo fancy o bonita que sea.

Saludos
epe
--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Estracto del man

Imagen de deathUser

Estracto del man ps:
[quote]
Note that "ps -aux" is distinct from "ps aux". The POSIX and UNIX standards require that "ps -aux" print all processes
owned by a user named "x", as well as printing all processes that would be selected by the -a option. If the user named
"x" does not exist, this ps may interpret the command as "ps aux" instead and print a warning. This behavior is intended
to aid in transitioning old scripts and habits. It is fragile, subject to change, and thus should not be relied upon.
[/quote]

Creo que es una herencia de tanto usar Solaris y BSD :)

bye
:)

por eso no debes usar el -

Imagen de Epe

por eso no debes usar el - por eso mismo, aunque por suerte linux interpreta ambas variantes, si usas el - entonces busca el usuario x, que normalmente no existe.

Mira la diferencia en mi linux aquí está sin el usuario x:


[root@laptop ~]# userdel -r x
userdel: user x does not exist

[root@laptop ~]# ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.3/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 1692 572 ? S 12:04 0:00 init [5]
root 2 0.0 0.0 0 0 ? SN 12:04 0:00 [ksoftirqd/0]
root 3 0.0 0.0 0 0 ? S< 12:04 0:00 [events/0]
root 4 0.0 0.0 0 0 ? S< 12:04 0:00 [khelper]
root 5 0.0 0.0 0 0 ? S< 12:04 0:00 [kthread]
root 7 0.0 0.0 0 0 ? S< 12:04 0:00 [kblockd/0]
root 8 0.0 0.0 0 0 ? S< 12:04 0:00 [kacpid]
root 100 0.0 0.0 0 0 ? S< 12:04 0:00 [khubd]
root 138 0.0 0.0 0 0 ? S 12:04 0:00 [pdflush]
root 139 0.0 0.0 0 0 ? S 12:04 0:00 [pdflush]
root 141 0.0 0.0 0 0 ? S< 12:04 0:00 [aio/0]
root 140 0.0 0.0 0 0 ? S 12:04 0:00 [kswapd0]
root 218 0.0 0.0 0 0 ? S< 12:04 0:00 [kseriod]
root 281 0.0 0.0 0 0 ? S< 12:04 0:00 [kpsmoused]
root 298 0.0 0.0 0 0 ? S< 12:04 0:00 [kmirrord]
root 312 0.0 0.0 0 0 ? S 12:04 0:00 [kjournald]
root 1070 0.0 0.0 1584 496 ? S

Fíjate en el mensaje inicial de "bogus -"

Ahora agregaré el usuario x:


[root@laptop ~]# useradd x
[root@laptop ~]# ps -aux
PID TTY TIME CMD
7187 pts/0 00:00:00 ps

ups.. sólo muestra los procesos de x

Por eso no se usa el -

Ahora voy, con el usuario x agregado, a ejecutar ps aux (sin -)

[root@laptop ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.1 1692 572 ? S 12:04 0:00 init [5]
root 2 0.0 0.0 0 0 ? SN 12:04 0:00 [ksoftirqd/0]
root 3 0.0 0.0 0 0 ? S< 12:04 0:00 [events/0]
root 4 0.0 0.0 0 0 ? S< 12:04 0:00 [khelper]
root 5 0.0 0.0 0 0 ? S< 12:04 0:00 [kthread]
root 7 0.0 0.0 0 0 ? S< 12:04 0:00 [kblockd/0]
root 8 0.0 0.0 0 0 ? S< 12:04 0:00 [kacpid]
root 100 0.0 0.0 0 0 ? S< 12:04 0:00 [khubd]
root 138 0.0 0.0 0 0 ? S 12:04 0:00 [pdflush]
root 139 0.0 0.0 0 0 ? S 12:04 0:00 [pdflush]
root 141 0.0 0.0 0 0 ? S< 12:04 0:00 [aio/0]
root 140 0.0 0.0 0 0 ? S 12:04 0:00 [kswapd0]
root 218 0.0 0.0 0 0 ? S< 12:04 0:00 [kseriod]
root 281 0.0 0.0 0 0 ? S< 12:04 0:00 [kpsmoused]
root 298 0.0 0.0 0 0 ? S< 12:04 0:00 [kmirrord]
root 312 0.0 0.0 0 0 ? S 12:04 0:00 [kjournald]
root 1070 0.0 0.0 1584 496 ? S
aux (ouch)!... sí salió.

no usar el -

Es una mala práctica al parecer.

Aprende que no soy eterno

--
EcuaLinux.com
Ecuador: +(593) 9 9246504, +(593) 2 3412402
USA: +1 404 795 0321, España: +34 917617884

Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Páginas