Routers : Routers Cisco de la serie 10000

Resolución de problemas por uso excesivo de las CPU de los routers de Cisco

19 Mayo 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (24 Julio 2008) | Comentarios

Interactivo: Este documento ofrece un análisis personalizado de su dispositivo Cisco.


Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
Síntomas de la alta utilización de la CPU
Resolución de problemas inicial
Cómo determinar las causas y solucionar el problema
     Alta utilización de la CPU debido a interrupciones
     Alta utilización de CPU a causa de los procesos
Comandos para obtener más información
     Comando show processes cpu
     Comando show interfaces
     Comando show interfaces switching
     Comando show interfaces stat
     show ip nat translations
     Comando show align
     Comando show version
     Comando show log
Secuencia de comandos shell UNIX para recopilación periódica de datos
Discusiones relacionadas de la comunidad de soporte de Cisco

Introducción

En este documento se describen los síntomas comunes y las causas de la alta utilización de la CPU de los routers Cisco, y se proporciona una guía de consulta de diagnóstico y resolución de problemas.

Requisitos previos

Requisitos

Para resolver los problemas que se derivan de una alta utilización de la CPU de los routers de Cisco es necesario comprender los trayectos de conmutación del software Cisco IOS®. Para obtener más información sobre los trayectos de conmutación del software Cisco IOS, consulte Fundamentos del ajuste de desempeño.

Componentes utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

Convenciones

Si desea más información sobre las convenciones del documento, consulte Convenciones de consejos técnicos de Cisco.

Síntomas de la alta utilización de la CPU

Esta lista describe algunos síntomas comunes derivados de una alta utilización de la CPU. Si advierte cualquiera de estos síntomas, siga los pasos de resolución de problemas de este documento para resolver el problema.

  • Porcentajes altos en la salida del comando show processes cpu .

    Si tiene la salida de un comando show processes cpu desde el dispositivo Cisco, podrá utilizar para mostrar posibles problemas y sus soluciones. Para utilizar , debe ser un cliente registrado, estar conectado al sistema y tener JavaScript habilitado.

  • Bajo desempeño

  • Los servicios en el router no responden adecuadamente, por ejemplo:

    • Respuesta lenta en Telnet o no se puede ejecutar Telnet hacia el router

    • Respuesta lenta en la consola

    • Respuesta baja o ausencia de respuesta en el ping

    • El router no envía actualizaciones del router a otros routers

Resolución de problemas inicial

Cuando observe cualquiera de los siguiente síntomas:

  • Verifique que no haya problemas de seguridad. En general, la alta utilización de la CPU está causada por un problema de seguridad como, por ejemplo, la presencia de un gusano o virus en su red. Existen muchas probabilidades de que ésta sea la causa si recientemente no ha habido cambios en la red. Habitualmente, un cambio en la configuración, como agregar líneas adicionales a sus listas de accesos, puede mitigar los efectos de este problema. Avisos y asesoría en seguridad de productos de Cisco contiene información sobre cómo detectar las causas más probables y las soluciones alternativas específicas.

    Para obtener información adicional, consulte:

  • Asegúrese de que todos los comandos de depuración estén desactivados ejecutando los comandos undebug all o no debugall. Para obtener más información sobre el uso de los comandos de depuración, consulte la sección Using Debug Commands (Uso de comandos de depuración).

  • ¿Puede ejecutar los comandos show en el router? Si la respuesta es afirmativa, comience a recopilar más información inmediatamente, usando estos comandos show.

  • ¿Es imposible acceder al router? ¿Puede reproducir este problema? De ser así, reinicie el router y, antes de reproducir el problema, configure el comando scheduler interval 500. Esto programa los procesos de prioridad baja para que se ejecuten cada 500 milisegundos, lo que le da tiempo a ejecutar algunos comandos, aunque el porcentaje del uso de la CPU sea del 100 %. En los routers de las series 7200 y 7500 de Cisco, use el comando scheduler allocate 3000 1000.

  • ¿El router muestra síntomas de alta utilización de la CPU en intervalos breves e imprevisibles? De ser así, recopile de forma periódica el resultado del comando show processes cpu, que muestra que la alta utilización de la CPU está causada por interrupciones o por un proceso determinado. Utilice esta secuencia de comandos UNIX y, basándose en los descubrimientos, modifíquela para recopilar los datos necesarios para realizar más investigaciones sobre el tema.

Cómo determinar las causas y solucionar el problema

Utilice el comando show processes cpu, para verificar si la alta utilización de la CPU se debe a interrupciones o procesos.

Alta utilización de la CPU debido a interrupciones

Para obtener más información, consulte Resolución de problemas por alta utilización de la CPU debido a interrupciones.

Alta utilización de CPU a causa de los procesos

Verifique qué proceso de Cisco IOS está saturando la CPU. La actividad inusual relacionada con un proceso genera un mensaje de error en el registro. Por consiguiente, primero se debe verificar si el resultado del comando show logging (exec mode) presenta errores relacionados con el proceso que consume muchos ciclos de la CPU.

La depuración también puede ser muy útil para la solución de problemas de alta utilización de la CPU a causa de los procesos. Sin embargo, la depuración debe realizarse con sumo cuidado ya que podría aumentar aun más el uso de la CPU. Estos requisitos previos deben cumplirse para lograr que la depuración resulte segura y útil:

  • Todos los destinos de registro, excepto el registro de búfer, deben ser inhabilitados o su nivel de gravedad debe bajar de 7 (depuración) a 6 (informativo) o menos, usando el comando de configuración logging destination [severity-level] adecuado. Para ver cuáles de los destinos de registro y niveles correspondientes están habilitados, lea las líneas del encabezado del comando show logging exec.

  • Se debe incrementar el tamaño del búfer de registro para obtener información suficiente. Para obtener más detalles, consulte la descripción del comando logging buffered de configuración global.

  • Para que sea posible leer y entender las depuraciones, deben habilitarse las indicaciones de fecha y hora en milisegundos. Para obtener más detalles, consulte la descripción del comando de configuración global service timestamps.

Se proporciona una sesión de depuración de paquetes IP de muestra en Resolución de problemas por alta utilización de la CPU en el proceso "IP input" (entrada IP).

Para solucionar los problemas derivados de una alta utilización de la CPU en procesos específicos, consulte el enlace apropiado:

  • Entrada de información ARP: sección del documento Resolución de problemas por alta utilización de la CPU a causa de los procesos

  • Router BGP: sección que corresponde a la alta utilización de la CPU a causa del proceso del router BGP en el documento Resolución de problemas de alta utilización de la CPU causados por el proceso del escáner BGP o del router BGP

  • Escáner BGP: sección que corresponde a la alta utilización de la CPU a causa del Escáner BGP en el documento Resolución de problemas de alta utilización de la CPU causados por el proceso del escáner BGP o del router BGP.

  • EXEC: alta utilización de la CPU en los procesos Exec y Exec virtual

  • Entrada de HyBridge: resolución de problemas de alta utilización de la CPU a causa del proceso de entrada de HyBridge en routers con interfaces ATM

  • Entrada de IP: resolución de problemas de alta utilización de la CPU a causa del proceso IP Input

  • Protocolo simple de administración de red (SNMP) IP: el protocolo simple de administración de red (SNMP) IP causa una alta utilización de la CPU.

  • Actualizador de LC ADJ: ¿Qué causa la alta utilización de la CPU en el proceso actualizador de adyacencia LC en el router de Internet de la serie 12000 de Cisco?

  • Reloj TCP: sección que corresponde al Reloj TCP en el documento Resolución de problemas de alta utilización de la CPU a causa de los procesos

  • Fondo TTY: sección que corresponde al Fondo TTY en el documento Resolución de problemas de alta utilización de la CPU a causa de los procesos

  • EXEC Virtual: alta utilización de la CPU en los procesos Exec y Exec virtual

  • Vtemplate Backgr: sección que corresponde al Fondo de pantalla virtual en el documento Alta utilización de la CPU a causa de los procesos

  • Otros procesos: sección que corresponde a otros procesos en el documento Resolución de problemas de alta utilización de la CPU a causa de los procesos

Comandos para obtener más información

Estos comandos brindan más información acerca del problema:

Si es totalmente imposible acceder al router, primero apáguelo y vuelva a encenderlo. Luego, recopile de forma periódica el resultado de los comandos anteriores, excepto el comando show log, cuyos mensajes deben registrarse en un servidor Syslog. El intervalo para recopilar resultados debe ser de cinco minutos. Puede recopilar los datos de forma manual o automática, utilizando esta secuencia de comandos shell UNIX. También puede recopilar información mediante HTTP o SNMP. Para obtener detalles acerca de la configuración de HTTP y SNMP en un router Cisco, consulte el documento Configuración del software Cisco IOS.

Comando show processes cpu

Éste es un ejemplo del encabezado del comando show processes cpu:

 CPU utilization for five seconds: X%/Y%; one minute: Z%; five minutes: W%
 PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 

Esta tabla describe los campos del encabezado:

Campo

Descripción

X

Utilización promedio total durante los últimos cinco segundos (interrupciones + procesos)

S

Utilización media debido a interrupciones, durante los últimos cinco segundos1

Z

Utilización media total durante el último minuto2

W

Utilización media total durante los últimos cinco minutos2

PID

ID de Proceso

Runtime

Tiempo de la CPU que el proceso ha utilizado (en milisegundos)

Invoked

Cantidad de veces que se ha activado un proceso

uSecs

Microsegundos del tiempo de la CPU para cada invocación

5Seg

Utilización de la CPU por tarea en los últimos cinco segundos

1Min

Utilización de la CPU por tarea en el último minuto2

5 min

Utilización de la CPU por tarea en los últimos cinco minutos2

TTY

Terminal que controla el proceso

Process

Nombre del proceso

1Utilización de la CPU en el nivel de proceso = X - Y

2Los valores no representan un promedio aritmético, sino un promedio exponencialmente reducido. Por lo tanto, los valores más recientes tienen más influencia en el promedio calculado.

Use este enlace para acceder a una explicación detallada del comando show processes cpu.

Nota: La utilización total de la CPU no debe utilizarse como medida de la capacidad del router para conmutar más paquetes. En los routers de la serie 7500 de Cisco, los Procesadores de interfaz versátiles (VIP) y los Procesadores de conmutación de ruta (RSP) no informan acerca de la utilización lineal de la CPU. Cerca de la mitad de la energía de conmutación de paquetes por segundo viene después del 90 a 95 por ciento del uso de la CPU.

Comando show interfaces

La guía de referencia de comandos contiene una explicación detallada del comando show interfaces.

Comando show interfaces switching

Este comando se utiliza para determinar trayectos de conmutación activos en las interfaces. Para obtener más información sobre trayectos de conmutación en el software Cisco IOS, consulte el documento Configuring Switching Paths (Configuración de trayectos de conmutación).

A continuación, tiene un ejemplo de resultado del comando show interfaces switchingpara una interfaz:

RouterA#show interfaces switching
 Ethernet0
 Throttle count 0
 Drops RP 0 SP 0
 SPD Flushes Fast 0 SSE 0
 SPD Aggress Fast 0
 SPD Priority Inputs 0 Drops 0

 Protocol Path Pkts In Chars In Pkts Out Chars Out
 Other Process 0 0 595 35700
 Cache misses 0
 Fast 0 0 0 0
 Auton/SSE 0 0 0 0
 IP Process 4 456 4 456
 Cache misses 0
 Fast 0 0 0 0
 Auton/SSE 0 0 0 0
 IPX Process 0 0 2 120
 Cache misses 0
 Fast 0 0 0 0
 Auton/SSE 0 0 0 0
 Trans. Bridge Process 0 0 0 0
 Cache misses 0
 Fast 11 660 0 0
 Auton/SSE 0 0 0 0
 DEC MOP Process 0 0 10 770
 Cache misses 0
 Fast 0 0 0 0
 Auton/SSE 0 0 0 0
 ARP Process 1 60 2 120
 Cache misses 0
 Fast 0 0 0 0
 Auton/SSE 0 0 0 0
 CDP Process 200 63700 100 31183
 Cache misses 0
 Fast 0 0 0 0
 Auton/SSE 0 0 0 0 

El resultado enumera los trayectos de conmutación para todos los protocolos configurados en la interfaz, de manera que pueda verse qué tipo y qué cantidad de tráfico pasa a través del router. Esta tabla muestra los campos del resultado.

Campo

Definición

Process

Paquetes procesados. Pueden ser paquetes destinados al router, o paquetes para los cuales no había entrada en la memoria caché de conmutación rápida.

Cache misses

Paquetes sin entrada en la memoria caché de conmutación rápida. Se procesará el primer paquete para este destino (o flujo - depende del tipo de conmutación rápida configurada). Todos los paquetes subsiguientes se conmutarán rápidamente, a menos que la conmutación rápida esté explícitamente inhabilitada en la interfaz saliente.

Fast

Paquetes de conmutación rápida. La conmutación rápida está habilitada de forma predeterminada.

Auton/SSE

Paquetes de conmutación autónoma, conmutación de silicio o de conmutación distribuida. Solamente disponibles en los routers de la serie 7000 de Cisco con procesador de switch o procesador de switch de silicio (para conmutación autónoma o conmutación de silicio, respectivamente) o en los routers de la serie 7500 de Cisco con VIP (para conmutación distribuida).

Comando show interfaces stat

Este comando es una versión resumida del comando show interfaces switching. A continuación, tiene un ejemplo de resultado para una interfaz:

 RouterA#show interfaces stat
 Ethernet0
 Switching path Pkts In Chars In Pkts Out Chars Out
 Processor 52077 12245489 24646 3170041
 Route cache 0 0 0 0
 Distributed cache 0 0 0 0
 Total 52077 12245489 24646 3170041 

El resultado del comando show interfaces stat varía para las distintas plataformas, según los trayectos de conmutación configurados que estén disponibles

show ip nat translations

El comando show ip nat translations muestra las Traducciones de direcciones de red (NAT) activas en el router. Cada traducción activa genera interrupciones en la CPU y tiene un impacto en la utilización total de la CPU del router. Una gran cantidad de traducciones puede ocasionar un impacto del desempeño en el router.

A continuación, tiene un ejemplo de resultado del comando show ip nat translations:

 router#show ip nat translations
 Pro Inside global Inside local Outside local Outside global
 --- 172.16.131.1 10.10.10.1 --- ---

Comando show align

Este comando está disponible sólo en las plataformas basadas en procesadores con computación con conjunto de instrucciones reducidas (RISC). En estas plataformas, la CPU puede corregir las escrituras o lecturas de memoria alineadas incorrectamente. A continuación, tiene un ejemplo de resultado:

 Alignment data for:
 4500 Software (C4500-DS40-M), Version mis-aligned RELEASE SOFTWARE (fc1)
 Compiled Tue 31-Mar-98 15:05 by jdoe

 Total Corrections 33911, Recorded 2, Reads 33911, Writes 0

 Initial Initial
 Address Count Access Type Traceback
 40025F4D 15561 16bit read 0x606F4A7C 0x601C78F8 0x6012FE94 0x600102C0
 40025F72 18350 32bit read 0x606FB260 0x6013113C 0x600102C0 0x60010988 

Comando show version

A fin de rastrear problemas de alta utilización de la CPU, la parte importante del resultado de este comando es la versión de software Cisco IOS, la plataforma, el tipo de CPU y el tiempo de actividad del router. La guía de referencia de comandos brinda una explicación detallada del comando show version.

Comando show log

Este comando muestra el contendido de los mensajes de registro almacenados en el búfer. Para obtener más información sobre los mensajes del sistema de registro, consulte la sección Log System Error Messages (Mensajes de error del sistema de registro) de la guía de configuración Troubleshooting the Router (Resolución de problemas del router).

Secuencia de comandos shell UNIX para recopilación periódica de datos

Este apéndice describe una secuencia de comandos simple para la captura periódica de datos desde el router. La línea más importante de la secuencia de comandos es ésta:

 (echo "show version") | telnet 192.168.1.1

El comando que se encuentra entre paréntesis se ejecuta en sub-shell y el resultado se envía a una sesión Telnet. A continuación, tiene una secuencia de comandos de ejemplo para capturar el resultado desde los comandos show version y show processes cpu:

 #!/opt/local/bin/bash

 ###########################################
 # Router's IP address
 #
 IP_ADDRESS='10.200.40.53'


 # Directory where the log files will be stored
 #
 DIR=/var/log/router

 ########################################

 if [ ! -e $DIR ]
 then
 mkdir $DIR
 fi

 # Tag specification: mmddhhmm
 DATE=`date +'%m%d'`
 TIME=`date +'%H%M'`
 TAG=$DATE$TIME

 # Collect data from the router
 (echo "foo";\
 echo "bar";\
 echo "term len 0";\
 echo "show version";\
 echo "show processes cpu";\
 echo "term len 15";\
 echo "show memory summary";\
 echo "q";\
 sleep 30)|telnet $IP_ADDRESS > $DIR/info.$TAG 2>$DIR/info.$TAG.msg 

Nota: En esta secuencia de comandos toda la información, incluida la contraseña, se envía en formato de texto sin comprimir.

En la primera sección, debe especificar la dirección IP y el directorio de destino para los archivos de registro. La segunda sección incluye los comandos reales que se envían al router. El primero es el nombre de usuario, el segundo la contraseña, etc. Se incluye un truco para capturar sólo las primeras líneas del resultado de ciertos comandos. El campo "Terminal length" está configurado en un valor corto (15 en este caso) y el carácter "q" sólo se envía por solicitud.

Si la información se recopila periódicamente, el resultado de show version muestra si el problema es periódico, por ejemplo, si siempre aparece a la misma hora o en el mismo día de la semana. Si es necesario recopilar los resultados de más comandos, pueden agregarse a la secuencia de comandos de la misma manera en que se han agregado las del ejemplo. Si desea truncar el resultado enviada al archivo, primero incremente el periodo de inactividad (el comando sleep entre paréntesis).

Ejecute esta secuencia de comandos cada cinco minutos si el problema de alta utilización de la CPU aparece con frecuencia y no dura mucho tiempo. De no ser así, puede ejecutarla cada 15 o 30 minutos. Para una utilización más simple, guarde la secuencia de comandos en un archivo como /usr/bin/router-script. Luego, para ejecutarla cada cinco minutos, agregue la siguiente línea al archivo /etc/crontab:

 */5 * * * * /usr/bin/router-script

Reinice el servidor cron. Si no tiene la autoridad para cambiar el archivo /etc/crontab, ejecute la secuencia de comandos en un proceso independiente de la siguiente manera:

 while [ 1 ]; do ./router-script ; sleep 300; done &

Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 15095