Introducción
Este documento describe cómo trabajar con procesos zombi que se ven en CUCM, IMnP y otros productos de Cisco UC cuando se inicia sesión con Admin CLI.
Prerequisites
Requirements
Cisco recomienda que conozca el uso de la CLI de administración de los servidores de UC:
- Cisco Unified Communications Manager (CUCM)
- Cisco Unified Instant Messaging and Presence Server (IMnP)
- Servidor Cisco Unity Connection (CUC)
Componentes Utilizados
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Antecedentes
Los servidores de Unified Communications son esencialmente aplicaciones basadas en el sistema operativo Linux. Cuando un proceso muere en Linux, no todo se elimina inmediatamente de la memoria, su descriptor de proceso (PID) permanece en la memoria, lo que sólo toma una pequeña cantidad de memoria. Este proceso deja de funcionar y se notifica a los padres del proceso que su proceso secundario ha muerto. Se supone que el proceso primario debe leer el estado de salida del proceso muerto y quitarlo completamente de la memoria. Una vez hecho esto usando la llamada del sistema wait(), el proceso zombie se elimina de la tabla de procesos. Esto se conoce como cosecha del proceso zombi. Esto suele suceder muy rápidamente, por lo que no verá que se acumulen procesos zombi en su sistema.
Sin embargo, a veces los procesos primarios no realizan la llamada de señal wait() y el proceso secundario permanecerá en la memoria hasta que se limpie. En otras palabras, un proceso zombi es un proceso cuya ejecución se ha completado pero que todavía tiene una entrada en la tabla de proceso, ya que el proceso primario todavía necesita leer el estado de salida de su hijo.
Marque Zombies mediante la CLI de administración UCOS
Desde la CLI, la presencia de zombies se puede verificar usando el comando show process load.
Solución de problemas/limpieza manual de los zombis
Aparte de la pequeña memoria que se usa para mantener la PID como se mencionó anteriormente, los procesos zombi no utilizan recursos del sistema, pero conservan su ID de proceso. En los servidores de UC, la memoria proporcionada al sistema es grande por lo que la posibilidad de que el sistema se quede sin PID para otros procesos debido a la presencia de Zombies es mucho menor.
Por lo tanto, los zombies se pueden dejar en el sistema, donde se borran automáticamente al siguiente reinicio del sistema.
Sin embargo, si hay un requisito para limpiar los zombies en el sistema, puede seguir una cierta línea de acción
Reinicie el servicio adecuado
Es necesario determinar el proceso en cuestión y, por lo tanto, el servicio que filtra el proceso infantil.
- Desde el resultado de CLI, tome el resultado de show process list y show process list detail.
- Copie los resultados en un editor de texto y busque el texto 'desaparecido' en el archivo.
- Anote los ID de proceso (pid) y los ID de proceso principal (ppid) para esos procesos caducados.
- Haga un seguimiento del ppid en el documento para encontrar el proceso asociado.
Ejemplo 1
CUCM: Cuando busco en el archivo el texto 'muerto', veo que hay un PID 22908 que está muerto.
El ppid para ese PID es 29815. En el seguimiento 29815 del documento, veo que el proceso está relacionado con el servicio AMC.
Solución- Reinicie AMC(Alert Manager and Collector Service) en este nodo borra el Zombie.
Ejemplo 2
CUCM: Cuando se busca el archivo para el texto muerto, veo que hay un PID 10025 que está muerto.
El ppid para ese PID es 26732. Al realizar el seguimiento de 26732 en el documento, verá que el proceso está relacionado con el servicio de recolección de seguimiento.
Solución: Reinicie el servicio de recolección de seguimiento en este nodo borra el zombi.
Ejemplo 3
CUCM: Cuando se busca el archivo para el texto desaparecido, se ve que hay un PID 23959 que ha desaparecido.
El ppid para ese PID es 26764. Al realizar el seguimiento 26764 en el documento, veo que el proceso está relacionado con el servicio de repositorio CDR (cdrrep)
Solución - Reinicie el Servicio de Repositorio CDR borra este Zombie.
Ejemplo 4
CUC: Cuando se busca el archivo para el texto muerto, se ve que hay tres PIDs 325, 370, 387 que han desaparecido.
El ppid para todos esos PID es 7827. Al realizar el seguimiento 7827 en el documento, verá que el proceso está relacionado con el servicio Connection File Syncer.
Solución: Reinicie el servicio Connection File Syncer borra los zombies.
Ejemplo 5
IMnP: Cuando se busca el archivo del texto desaparecido, se ve que hay un PID 1806 que está inactivo.
El ppid para ese PID es 1775. Al realizar el seguimiento 1775 en el documento, verá que el proceso es una conexión SFTP a otro nodo IMnP en el mismo clúster.
Solución: en IMnP, se pueden ver los procesos SSH predeterminados propiedad de SFTP. Se ha encontrado que son cosméticos y pueden ser eliminados por un reinicio del servidor.
Reinicie el servidor.
Un reinicio del servidor correspondiente borra todas las entradas obsoletas en la tabla de proceso y consecuentemente borra los zombies del sistema.
Matar el proceso principal
Desde Linux, no puede matar los procesos zombi de la forma en que se eliminan los procesos normales con la señal SIGKILL: los procesos zombie ya están muertos. Sin embargo, puede matar el proceso primario. El comando utilizado en esa situación es:
kill -9 <ppid>
Póngase en contacto con el TAC para llevar a cabo esta solución alternativa. Garantizar la atención mientras se elimina el proceso principal para garantizar que ningún servicio crítico se interrumpa abruptamente.
Verificación
Una vez que los zombies se han borrado, utilice el mismo comando show process load para verificar el conteo zombi.