Switches : Switches Cisco Catalyst de la serie 4000

Utilización alta de la CPU en los switches Catalyst de la serie 4500 que se basan en el software Cisco IOS.

23 Marzo 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (20 Marzo 2008) | Comentarios

Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
Antecedentes
Información sobre la arquitectura del manejo del paquete de la CPU de Catalyst 4500
Cómo identificar la causa de la alta utilización de la CPU en switches Catalyst 4500
     Establecer la línea de base del uso de la CPU
     Introducción al comando show processes cpu en los switches Catalyst de la serie 4500
     Introducción al comando show platform health en los switches Catalyst de la serie 4500
Resolución de problemas comunes en la alta utilización de la CPU
     Elevada utilización de la CPU debido los paquetes de conmutación por proceso
     Otras causas del uso intensivo de la CPU
Herramientas para la resolución de problemas para analizar el tráfico que tiene como destino la CPU
     Herramienta 1: Monitoreo del tráfico de la CPU con SPAN, versiones 12.1(19)EW y posteriores del software Cisco IOS
     Herramienta 2: Rastreador de CPU integrado: versiones 12.2(20)EW y posteriores del software Cisco IOS
     Herramienta 3: Identifica la interfaz que envía tráfico hacia la CPU: versión 12.2(20)EW y posteriores del software Cisco IOS.
Resumen
Discusiones relacionadas de la comunidad de soporte de Cisco
Información relacionada

Introducción

Los switches de la serie 4500 de Catalyst, que incluyen los switches de la serie 4948 poseen una sofisticada metodología para el manejo de paquetes para el tráfico de datos vinculado a la CPU. Un problema que se percibe con frecuencia es la alta utilización de la CPU en los switches. Este documento ofrece detalles de la arquitectura del manejo del paquete de la CPU y muestra como es posible identificar la causa de una alta utilización de la CPU en estos switches. El documento también enumera algunos de los escenarios de redes y de configuración que normalmente implican una alta utilización de la CPU los switches Catalyst de la serie 4500.

Nota: Si utiliza switches Catalyst de la serie 4500/4000 basados en el Catalyst OS (CatOS), consulte el documento Uso de la CPU en switches Catalyst 4500/4000, 2948G, 2980G y 4912G que ejecutan el Software CatOS.

Requisitos previos

Requisitos

No hay requisitos específicos para este documento.

Componentes utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware:

  • Switches Catalyst serie 4500

  • Switches Catalyst serie 4948

Nota: Este documento se aplica sólo a los switches que se basan en el software Cisco IOS® pero no a los que se basan en CatOS.

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos utilizados para la redacción de este documento se pusieron en funcionamiento con una configuración despejada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto potencial de los comandos.

Convenciones

Consulte Convenciones de consejos técnicos de Cisco para obtener más información acerca de las convenciones de este documento.

Antecedentes

Antes de consultar la arquitectura del manejo de paquetes de la CPU y resolver el problema de la alta utilización de la CPU, es necesario que conozca las distintas maneras en las que los switches de reenvío basados en hardware y los routers basados en el software Cisco IOS® utilizan la CPU. Un error muy común es creer que la alta utilización de la CPU indica el agotamiento de los recursos en un dispositivo y representa una amenaza de falla en el sistema. El problema de capacidad es uno de los síntomas que exhibe la alta utilización de la CPU en los routers Cisco IOS. Sin embargo, un problema relacionado con la capacidad nunca implica un síntoma de alta utilización de la CPU en los switches de reenvío basados en el hardware como el Catalyst 4500. El Catalyst 4500 está diseñado para reenviar paquetes en el circuito integrado de aplicación específica de hardware (ASIC) y alcanzan una velocidad de reenvío de tráfico de hasta 102 millones de paquetes por segundo (Mpps).

La CPU Catalyst 4500 tiene las siguientes funciones:

  • Administra protocolos de software configurados, por ejemplo:

    • Spanning Tree Protocol (STP)

    • Protocolo de ruteo.

    • Protocolo de detección de Cisco (CDP, Cisco Discovery Protocol)

    • Protocolo de agrupamiento de puertos (PAgP, Port Aggregation Protocol)

    • Protocolo de troncal VLAN (VTP)

    • Protocolo de concentración de enlace troncal dinámico (DTP)

  • Configuración de los programas/entradas dinámicas del hardware ASIC, por ejemplo:

    • Listas de control de acceso (ACL)

    • Entradas CEF

  • Administra diferentes componentes a nivel interno, por ejemplo:

    • Tarjetas de línea de alimentación por Ethernet (PoE)

    • Fuentes de alimentación

    • Bandeja de ventilación

  • Administra el acceso al switch, por ejemplo:

    • Telnet

    • Consola

    • SNMP (Simple Network Management Protocol, protocolo de administración de red simple)

  • Reenvía paquetes a través del trayecto por software, por ejemplo:

    • Intercambio de paquetes entre redes (IPX)-paquetes enrutados que sólo son compatibles con el trayecto del software

    • Fragmentación de la unidad máxima de transmisión (MTU)

Según esta lista, la alta utilización de la CPU puede ser el resultado de los paquetes que recibe o procesa la CPU. Algunos de los paquetes que se envían para ser procesados pueden ser básicos para el funcionamiento de la red. Un ejemplo de estos paquetes básicos son las unidades de datos del protocolo de bridge (BPDU) para las configuraciones de la topología del árbol de conmutación. Sin embargo, otros paquetes pueden ser el tráfico de datos de software remitido. Estos escenarios requieren el ASIC de conmutación para poder enviarle paquetes a la CPU para que los procese.

  • Los paquetes se copian en la CPU, pero los paquetes originales se conmutan en el hardware

    Un ejemplo es el reconocimiento de la dirección MAC del host.

  • Paquetes que se envían a la CPU para ser procesados

    Algunos ejemplos incluyen:

    • Actualizaciones del protocolo de ruteo

    • BPDU

    • Inundación de tráfico voluntaria o involuntaria.

  • Paquetes que se envían a la CPU para ser reenviados

    Un ejemplo es el paquete que necesita ruteo IPX o Apple Talk.

Información sobre la arquitectura del manejo del paquete de la CPU de Catalyst 4500

El Catalyst 4500 tiene un mecanismo de Calidad de Servicio (QoS) integrado que le permite establecer diferencias entre los tipos de tráfico que están destinados a la CPU. El mecanismo establece una diferencia sobre la base de la información de capa 2 (L2)/capa 3 (L3) / capa 4 (L4). El motor Supervisor Engine de paquetes tiene 16 colas que le permiten manejar distintos tipos de paquetes o eventos. La Figura 1 muestra esas colas. La Tabla 1 enumera las colas y los tipos de paquetes que se ubican cada una de ellas. Las 16 colas le permiten a Catalyst 4500 poner los paquetes en cola de acuerdo al tipo de paquete o a la prioridad.

Figura 1: Catalyst 4500 utiliza varias colas en la CPU

cat4500_high_cpu-1.gif

Tabla 1: Descripción de la cola de Catalyst 4500

Número de cola

Nombre de cola

Paquetes en cola

0

Esmp

Paquetes ESMP1 (paquetes de administración interna) para las tarjetas de línea ASIC u otros componentes de administración

1

Control

Paquetes de planos de control L2, como STP, CDP, PAgP, LACP2 o UDLD3

2

Reconocimiento del host

Tramas con direcciones MAC de origen desconocidas que se copian a la CPU para poder construir la tabla de reenvío L2

3, 4, 5

L3 reenvío alto, L3 reenvío alto/medio, L3 reenvío bajo

Los paquetes se deben reenviar por software como Túneles GRE4

Si no se resuelve el ARP5 para la dirección IP de destino, los paquetes se envían a esta cola.

6, 7, 8

L2 reenvío más alto, L2 reenvío alto/medio, L2 reenvío bajo

Los paquetes que se reenvían como resultado de un bridge

  • Los protocolos que no se soportan en el hardware, como IPX y los paquetes enrutados Apple Talk, se conectan a través de un bridge a la CPU.

  • Solicitud y respuesta ARP

  • Los paquetes con una dirección de destino MAC en interfaz SVI6/L3 del switch se conectan por bridges si los paquetes no se pueden enrutar por el hardware debido a alguna de las siguientes razones:

    • Las opciones de encabezado IP

    • TTL7 expirado

    • No existe una encapsulación ARPA

9, 10

L3 Rx alto, L3 Rx bajo

El tráfico de plano de control L3, protocolos de ruteo, que está destinado a otras direcciones de IP de CPU

Algunos ejemplos incluyen: Telnet, SNMP y SSH8.

11

Fallo de RPF:

verificar los paquetes de multidifusión que fallaron el RPF9

12

ACL fwd(snooping)

Paquetes que están procesados por el DHCP10 snooping, por una inspección ARP dinámica o por las funciones de indagación IGMP11

13

Mensaje ACL fuera de alcance

Paquetes que llegan a un ACE12 con la palabra clave log o paquetes que fueron rechazados debido a una negación en una ACL de salida o a la falta de una ruta al destino

Estos paquetes requieren la generación de mensajes de ICMP fuera de alcance.

14

Procesamiento ACL sw

Paquetes que son impulsados a la CPU debido a la falta de recursos de hardware ACL adicionales, como TCAM13, por razones de seguridad ACL

15

Fallo en MTU/MTU inválida

Los paquetes que necesitan ser fragmentados debido a que el tamaño de la interfaz de salida MTU es más pequeño que el tamaño del paquete

1 ESMP = protocolo de administración simple

2 LACP = Protocolo de control de agregación de enlaces.

3 UDLD = Detección de enlace unidireccional.

4 GRE = Encapsulación de ruteo genérica.

5 ARP = Protocolo de resolución de direcciones.

6 SVI = Interfaz virtual conmutada.

7 TTL = Tiempo de funcionamiento.

8 SSH = Protocolo de Secure Shell.

9 RPF = Trayecto inverso Unicast.

10 DHCP = Protocolo de configuración dinámica de hosts.

11 IGMP = Protocolo de administración de grupos de Internet.

12 ACE = Entrada de control de acceso.

13 TCAM = Memoria direccionable por contenido ternario.

Estas colas son colas separadas:

  • L2 reenvío más alto o L3 reenvío más alto

  • L2 reenvío alto/medio o L3 reenvío alto/medio

  • L2 reenvío bajo o L3 reenvío bajo

  • L3 Rx alto o L3 Rx bajo

Los paquetes se almacenan en cola en estas colas de acuerdo con la etiqueta QoS (Calidad de Servicio), que es el valor de los códigos de servicios diferenciados (DSCP) del tipo de servicio de IP (ToS). Por ejemplo, los paquetes con un DSCP igual a 63 se almacenan en cola en la cola L3 de reenvío más alto. Es posible ver los paquetes que se reciben y se eliminan en estas 16 colas en la salida del show platform cpu packet statistics all comando. La salida de este comando es muy larga. Ejecute el comando show platform cpu packet statistics para ver sólo los eventos distintos de cero. El comando show platform cpuport es un comando alternativo. Utilice el comando show platform cpuport sólo si ejecuta la versión 12.1(11)EW del software Cisco IOS o versiones anteriores. Este comando ha sido desaprobado desde entonces. Sin embargo, este antiguo comando fue parte del comando show tech-support en las versiones de software Cisco IOS anteriores a la versión 12.2(20)EWA.

Utilice el comando show platform cpu packet statistics para cualquier tipo de resolución de problemas.

Switch#show platform cpu packet statistics all
!--- Resultado suprimido.
Total packet queues 16

Packets Received by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp                                 0         0         0         0          0
Control                             48         0         0         0          0
Host Learning                        0         0         0         0          0
L3 Fwd High                          0         0         0         0          0
L3 Fwd Medium                        0         0         0         0          0
L3 Fwd Low                           0         0         0         0          0
L2 Fwd High                          0         0         0         0          0
L2 Fwd Medium                        0         0         0         0          0
L2 Fwd Low                           0         0         0         0          0
L3 Rx High                           0         0         0         0          0
L3 Rx Low                            0         0         0         0          0
RPF Failure                          0         0         0         0          0
ACL fwd(snooping)                    0         0         0         0          0
ACL log, unreach                     0         0         0         0          0
ACL sw processing                    0         0         0         0          0
MTU Fail/Invalid                     0         0         0         0          0

Packets Dropped by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp                                 0         0         0         0          0
Control                              0         0         0         0          0
Host Learning                        0         0         0         0          0
L3 Fwd High                          0         0         0         0          0
L3 Fwd Medium                        0         0         0         0          0
L3 Fwd Low                           0         0         0         0          0
L2 Fwd High                          0         0         0         0          0
L2 Fwd Medium                        0         0         0         0          0
L2 Fwd Low                           0         0         0         0          0
L3 Rx High                           0         0         0         0          0
L3 Rx Low                            0         0         0         0          0
RPF Failure                          0         0         0         0          0
ACL fwd(snooping)                    0         0         0         0          0
ACL log, unreach                     0         0         0         0          0
ACL sw processing                    0         0         0         0          0
MTU Fail/Invalid                     0         0         0         0          0

La CPU Catalyst 4500 le asigna pesos a las diferentes colas que se enumeran en las listas de la Tabla 1. La CPU asigna los pesos de acuerdo con la importancia o con el tipo y sobre la base de la prioridad de tráfico o DSCP. La CPU atiende las colas de acuerdo con los pesos relativos de la cola. Por ejemplo, si tanto un paquete de control, como BDPU, y una petición de eco ICMP figuran como pendientes, la CPU atenderá primero al paquete de control. Una cantidad excesiva de tráfico de prioridad baja o menos importante no le quita a la CPU la capacidad de procesar o administrar el sistema. Este mecanismo garantiza la estabilidad de la red aún cuando existe un alto nivel de utilización de la CPU. Esta capacidad que tiene la red de permanecer estable representa un punto importante que debe comprender.

Existe otro detalle muy importante en cuanto a la implementación del manejo de paquetes de la CPU de Catalyst 4500. Si la CPU ya ha atendido paquetes o procesos de alta prioridad pero cuenta con más ciclos de la CPU libres durante un periodo de tiempo determinado, La CPU atiende los paquetes de baja prioridad que están en la cola o realiza procesos en segundo plano de prioridad baja. La utilización alta de la CPU como resultado del procesamiento de paquetes de baja prioridad o procesos en segundo plano se considera normal porque la CPU constantemente trata de utilizar todo el tiempo disponible. De este modo, la CPU se esfuerza por alcanzar el mayor desempeño del switch de la red sin poner en peligro la estabilidad de este último. El Catalyst 4500 considera que la CPU se utiliza en niveles inferiores a lo normal a menos que se utilice al 100 por ciento para una sola franja de tiempo.

Las versiones 12.2(25)EWA2 y posteriores del software Cisco IOS han mejorado. el mecanismo de manejo de paquetes y de procesos y la contabilidad de la CPU. Por lo tanto, utilice estas versiones en las implementaciones de Catalyst 4500.

Cómo identificar la causa de la alta utilización de la CPU en switches Catalyst 4500

Ahora que usted conoce sobre la arquitectura y el diseño del manejo de paquetes en la CPU de los switches Catalyst 4500 es probable que desee averiguar por qué el uso de la CPU de su Catalyst 4500 es alto. El Catalyst 4500 cuenta con los comandos y con las herramientas necesarias para identificar la raíz del problema de la alta utilización de la CPU. Después de identificar la causa, los administradores pueden llevar a cabo cualquiera de las siguientes acciones:

  • Acción correctiva: esta incluye cambios de configuración o en la red, o la creación de un pedido de servicio de Soporte técnico para un análisis más profundo.

  • Ninguna acción: Catalyst 4500 funciona de acuerdo a lo esperado. La CPU exhibe un nivel alto de utilización porque el motor Supervisor Engine maximiza los ciclos de la CPU para que pueda realizar todos las tareas de reenvío de paquetes de software y de segundo plano.

Asegúrese de identificar la razón por la cual el uso de la CPU es alto aunque la acción correctiva no sea necesaria en todos los casos. La alta utilización de la CPU puede ser un síntoma de un problema en la red. Es posible que sea necesario implementar una solución que elimine el problema principal para poder disminuir el nivel de uso de la CPU.

La Figura 2 muestra la metodología de de solución de problemas que se debe utilizar para identificar la cause del problema relacionado a la alta utilización de la CPU de Catalyst 4500.

Figura 2: metodología para la resolución del problema relacionado con la alta utilización de la CPU en switches Catalyst 4500

cat4500_high_cpu-2.gif

Los pasos generales para la resolución de problemas son:

  1. Ejecute el comando show processes cpu para identificar los procesos de Cisco IOS que consumen ciclos de la CPU.

  2. Ejecute el comando show platform health para identificar los procesos específicos a la plataforma.

  3. Si el proceso que se encuentra activo es K2CpuMan Review, ejecute el comando show platform cpu packet statistics para identificar el tipo de tráfico que llega a la CPU.

    Si la actividad no se debe al proceso K2CpuMan Review omita el paso 4 y vaya al paso 5.

  4. Identificación de los paquetes que llegan a la CPU a través de las Herramientas para la resolución de problemas para analizar el tráfico que tiene como destino la CPU, si es necesario.

    Un ejemplo de una herramienta de resolución de problemas que se puede utilizar es el Analizador de puerto conmutado (SPAN) de la CPU.

  5. Consulte este documento y la sección Resolución de problemas comunes de alta utilización de la CPUpara causas comunes.

    Si todavía no puede identificar la raíz del problema, comuníquese con el Soporte Técnico de Cisco.

Establecer la línea de base del uso de la CPU

El primer paso importante es conocer el uso de la CPU de su switch para su configuración y la de la red. Utilice el comando show processes cpu para identificar el uso de la CPU en el switch Catalyst 4500. La actualización continua de la utilización de la CPU de línea de base puede ser necesaria a medida que agrega más configuraciones a la configuración de la red o a medida que cambien los patrones de tráfico de la red. La Figura 2 indica este requisito.

Este resultado pertenece a un Catalyst 1507R completamente cargado. La CPU en estado constante representa aproximadamente entre un 32 y un 38 por ciento, que es el porcentaje que necesita este switch para poder realizar las funciones de administración de energía:

Switch#show processes cpu
Utilización de la CPU durante cinco segundos: 38%/1%; un minuto: 32%, cinco minutos: 32%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           0        63          0  0.00%  0.00%  0.00%   0 Chunk Manager
   2          60     50074          1  0.00%  0.00%  0.00%   0 Load Meter
   3           0         1          0  0.00%  0.00%  0.00%   0 Deferred Events
!--- Resultado suprimido.
  27         524    250268          2  0.00%  0.00%  0.00%   0 TTY Background
  28         816    254843          3  0.00%  0.00%  0.00%   0 Per-Second Jobs
  29      101100      5053      20007  0.00%  0.01%  0.00%   0 Per-minute Jobs
  30    26057260  26720902        975 12.07% 11.41% 11.36%   0 Cat4k Mgmt HiPri
  31    19482908  29413060        662 24.07% 19.32% 19.20%   0 Cat4k Mgmt LoPri 
  32        4468    162748         27  0.00%  0.00%  0.00%   0 Galios Reschedul
  33           0         1          0  0.00%  0.00%  0.00%   0 IOS ACL Helper
  34           0         2          0  0.00%  0.00%  0.00%   0 NAM Manager

La utilización de la CPU durante cinco segundos se expresa como:

x%/y%

El x% representa el total de utilización de la CPU, el y% representa la CPU que se utiliza al nivel de interrupción. Cuando lleve a cabo la resolución de problemas para los switches Catalyst de las series 4500, concéntrese sólo en la utilización total de la CPU.

Introducción al comando show processes cpu en los switches Catalyst de la serie 4500

Este resultado show processes cpu muestra que existen dos procesos que utilizan la CPU—Cat4k Mgmt HiPri y Cat4k Mgmt LoPri. Estos dos procesos agregan varios procesos específicos de la plataforma que realizan las funciones de administración esenciales en el switch Catalyst 4500. Estos procesos procesan tanto paquetes de planos de control como paquetes de datos que necesitan ser procesados o recibir un cambio de software.

Para poder ver qué procesos específicos a las plataformas utilizan la CPU dentro del contexto de Cat4k Mgmt HiPri y Cat4k Mgmt LoPri, ejecute el comando show platform health.

Cada uno de los procesos específicos a las plataformas tienen una utilización de la CPU determinada o establecida. Cuando el proceso está dentro de lo establecido, la CPU ejecuta el proceso dentro del contexto de alta prioridad. El resultado del comando show processes cpu cuenta esa utilización bajo Cat4k Mgmt HiPri.  Si un proceso excede la utilización predeterminada, ese proceso se ejecuta bajo el contexto de baja prioridad. La aparición del comando show processes cpu cuenta esa utilización adicional bajo Cat4k Mgmt LoPri. Este Cat4k Mgmt LoPri también se utiliza para ejecutar procesos en segundo plano y otros procesos de baja prioridad, como la verificación de consistencia y los contadores de interfaz de lectura. Este mecanismo le permite a la CPU ejecutar procesos de alta prioridad cuando sea necesario, y que los ciclos de la CPU inactivos restantes se utilicen para los procesos de baja prioridad. Si el porcentaje predeterminado para la utilización de la CPU aumenta en una pequeña cantidad, o si existe un aumento momentáneo en la utilización de la CPU; esto no implica la existencia de un problema que requiera ningún tipo de investigación.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.02  2      1  100  500    0   0    0 1:09
GalChassisVp-review    3.00   0.29 10      3  100  500    0   0    0 11:15
S2w-JobEventSchedule  10.00   0.32 10      7  100  500    0   0    0 10:14
Stub-JobEventSchedul  10.00  12.09 10      6  100  500   14  13    9 396:35
StatValueMan Update    1.00   0.22 1      0  100  500    0   0    0 6:28
Pim-review             0.10   0.00 1      0  100  500    0   0    0 0:22
Ebm-host-review        1.00   0.00 8      0  100  500    0   0    0  0:05
Ebm-port-review        0.10   0.00 1      0  100  500    0   0    0 0:01
Protocol-aging-revie   0.20   0.00 2      0  100  500    0   0    0 0:00
Acl-Flattener  e       1.00   0.00 10      0  100  500    0   0    0 0:00
KxAclPathMan create/   1.00   0.00 10      5  100  500    0   0    0 0:39
KxAclPathMan update    2.00   0.00 10      0  100  500    0   0    0 0:00
KxAclPathMan reprogr   1.00   0.00 2      0  100  500    0   0    0 0:00
TagMan-RecreateMtegR   1.00   0.00 10      0  100  500    0   0    0 0:00
K2CpuMan Review       30.00  10.19 30     28  100  500   14  13    9 397:11
K2AccelPacketMan: Tx  10.00   2.20 20      0  100  500    2   2    1 82:06
K2AccelPacketMan: Au   0.10   0.00 0      0  100  500    0   0    0 0:00
K2AclMan-taggedFlatA   1.00   0.00 10      0  100  500    0   0    0 0:00
K2AclCamMan stale en   1.00   0.00 10      0  100  500    0   0    0 0:00
K2AclCamMan hw stats   3.00   1.04 10      5  100  500    1   1    0 39:36
K2AclCamMan kx stats   1.00   0.00 10      5  100  500    0   0    0 13:40
K2AclCamMan Audit re   1.00   0.00 10      5  100  500    0   0    0 13:10
K2AclPolicerTableMan   1.00   0.00 10      1  100  500    0   0    0 0:38
K2L2 Address Table R   2.00   0.00 12      5  100  500    0   0    0 0:00
K2L2 New Static Addr   2.00   0.00 10      1  100  500    0   0    0 0:00
K2L2 New Multicast A   2.00   0.00 10      5  100  500    0   0    0 0:01
K2L2 Dynamic Address   2.00   0.00 10      0  100  500    0   0    0 0:00
K2L2 Vlan Table Revi   2.00   0.00 12      9  100  500    0   0    0 0:01
K2 L2 Destination Ca   2.00   0.00 10      0  100  500    0   0    0 0:00
K2PortMan Review       2.00   0.72 15     11  100  500    1   1    0 37:22
Gigaport65535 Review   0.40   0.07 4      2  100  500    0   0    0 3:38
Gigaport65535 Review   0.40   0.08 4      2  100  500    0   0    0 3:39
K2Fib cam usage revi   2.00   0.00 15      0  100  500    0   0    0 0:00
K2Fib IrmFib Review    2.00   0.00 15      0  100  500    0   0    0 0:00
K2Fib Vrf Default Ro   2.00   0.00 15      0  100  500    0   0    0 0:00
K2Fib AdjRepop Revie   2.00   0.00 15      0  100  500    0   0    0 0:00
K2Fib Vrf Unpunt Rev   2.00   0.01 15      0  100  500    0   0    0 0:23
K2Fib Consistency Ch   1.00   0.00 5      2  100  500    0   0    0 29:25
K2FibAdjMan Stats Re   2.00   0.30 10      4  100  500    0   0    0 6:21
K2FibAdjMan Host Mov   2.00   0.00 10      4  100  500    0   0    0 0:00
K2FibAdjMan Adj Chan   2.00   0.00 10      0  100  500    0   0    0 0:00
K2FibMulticast Signa   2.00   0.01 10      2  100  500    0   0    0 2:04
K2FibMulticast Entry   2.00   0.00   10      7  100  500    0   0    0 0:00
K2FibMulticast Irm M   2.00   0.00 10      7  100  500    0   0    0 0:00
K2FibFastDropMan Rev   2.00   0.00 7      0  100  500    0   0    0 0:00
K2FibPbr route map r   2.00   0.06 20      5  100  500    0   0    0 16:42
K2FibPbr flat acl pr   2.00   0.07 20      2  100  500    0   0    0 3:24
K2FibPbr consolidati   2.00   0.01 10      0  100  500    0   0    0 0:24
K2FibPerVlanPuntMan    2.00   0.00 15      4  100  500    0   0    0 0:00
K2FibFlowCache flow    2.00   0.01 10      0  100  500    0   0    0 0:23
K2FibFlowCache flow    2.00   0.00 10      0  100  500    0   0    0 0:00
K2FibFlowCache adj r   2.00   0.01 10      0  100  500    0   0    0 0:20
K2FibFlowCache flow    2.00   0.00 10      0  100  500    0   0    0 0:06
K2MetStatsMan Review   2.00   0.14 5      2  100  500    0   0    0 23:40
K2FibMulticast MET S   2.00   0.00 10      0  100  500    0   0    0 0:00
K2QosDblMan Rate DBL   2.00   0.12 7      0  100  500    0   0    0 4:52
IrmFibThrottler Thro   2.00   0.01 7      0  100  500    0   0    0 0:21
K2 VlanStatsMan Revi   2.00   1.46 15      7  100  500    2   2    1 64:44
K2 Packet Memory Dia   2.00   0.00 15      8  100  500    0   1    1 45:46
K2 L2 Aging Table Re   2.00   0.12 20      3  100  500    0   0    0 7:22
RkiosPortMan Port Re   2.00   0.73 12      7  100  500    1   1    1 52:36
Rkios Module State R   4.00   0.02 40      1  100  500    0   0    0 1:28
Rkios Online Diag Re   4.00   0.02 40      0  100  500    0   0    0 1:15
RkiosIpPbr IrmPort R   2.00   0.02 10      3  100  500    0   0    0 2:44
RkiosAclMan Review     3.00   0.06 30      0  100  500    0   0    0 2:35
MatMan Review          0.50   0.00 4      0  100  500    0   0    0 0:00
Slot 3 ILC Manager R   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 3 ILC S2wMan Re   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 4 ILC Manager R   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 4 ILC S2wMan Re   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 5 ILC Manager R   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 5 ILC S2wMan Re   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 6 ILC Manager R   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 6 ILC S2wMan Re   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 7 ILC Manager R   3.00   0.00 10      0  100  500    0   0    0 0:00
Slot 7 ILC S2wMan Re   3.00   0.00 10      0  100  500    0   0    0 0:00
EthHoleLinecardMan(1   1.66   0.04 10      0  100  500    0   0    0 1:18
EthHoleLinecardMan(2   1.66   0.02 10      0  100  500    0   0    0 1:18
EthHoleLinecardMan(6   1.66   0.17 10      6  100  500    0   0    0 6:38
                     -------------
%CPU Totals          212.80  35.63

Introducción al comando show platform health en los switches Catalyst de la serie 4500

El comando show platform health ofrece una gran cantidad de información de relevancia para los ingenieros de desarrollo. Para poder resolver el problema de la alta utilización de la CPU, busque un número alto en la columna %CPU actual en la salida: También, asegúrese de consultar el lado derecho de esa fila para verificar que la utilización de la CPU para ese proceso no dure más que entre 1 un minuto y 1 hora en promedio Columnas %CPU. Algunas veces, los procesos alcanzan un punto elevado, pero sólo momentáneamente, no mantienen la CPU a ese nivel por un largo periodo de tiempo. Parte de esta alta utilización momentánea de la CPU ocurre durante la programación del hardware o la optimización de la programación. Por ejemplo, un pico de aumento en el uso de la CPU es normal durante la programación de hardware de un ACL de gran tamaño en la TCAM.

En la salida de comando show platform health en la sección Introducción al comando show processes cpu en los switches Catalyst 4500,los procesos Stub-JobEventSchedul y K2CpuMan Review utilizan un número elevado de ciclos de la CPU. La Tabla 2 ofrece información básica sobre los procesos más comunes específicos de las plataformas que aparecen en el resultado del comando show platform health .

Tabla 2: Descripción de los procesos específicos de las plataformas que aparecen en el comando show platform health

Nombre del proceso específico de plataforma

Descripción

Pim-review

Administración del estado de la tarjeta de línea/chassis

Ebm

Módulo Ethernet Bridge, como vencimiento y control

Acl-Flattener/K2AclMan

Proceso de fusión de ACL

KxAclPathMan - Trayecto:

TagMan-Review

Mantenimiento y administración del estado de ACL

K2CpuMan Revisión

El proceso que realiza el reenvío de paquetes por software

Si usted nota una elevada utilización de la CPU debido a este proceso, estudie el paquete que llega a la CPU con el comando show platform cpu packet statistics.

K2AccelPacketMan

Controlador que interactúa con el motor del paquete para enviar los paquetes que están destinados desde la CPU

K2AclCamMan

Administra el hardware TCAM de entrada y de salida para las funciones QoS y de seguridad.

K2AclPolicerTableMan  

Administra los reguladores de entrada y de salida

K2L2

Representa el sistema de reenvío L2 del switch Catalyst de la serie 4500 Software Cisco IOS

Estos procesos son responsables del mantenimiento de las distintas tablas L2.

K2PortMan Revisión

Administra las diferentes funciones de programación relacionadas con los puertos.

K2Fib

Administración FIB1

K2FibFlowCache

Administración de caché de PBR2

K2FibAdjMan

Administración la tabla de adyacencia FIB

K2FibMulticast

Administra entradas FIB de multidifusión

K2MetStatsMan Revisión

Administra estadísticas MET3

K2QosDblMan Revisión

Administra QoS DBL4

IrmFibThrottler Thro

Módulo de IP Routing

Tabla de vencimiento K2 L2 Re 

Administra la función de vencimiento L2

GalChassisVp-review

Supervisión del estado del chasis

S2w-JobEventSchedule 

Administra los protocolos S2W5 para controlar el estado de las tarjetas de línea

Stub-JobEventSchedul 

Control y mantenimiento de tarjeta de línea basada en ASIC Stub

RkiosPortMan Port Re 

Mantenimiento y control del estado del puerto

Estado del módulo Rkios R

Mantenimiento y control de la tarjeta de línea

EthHoleLinecardMan

Administra los GBIC6 en cada una de las tarjetas de línea

1 FIB = Base de información de reenvío.

2 PBR = ruteo basado en políticas.

3 MET = Tabla de expansión de multidifusión.

4 DBL = Limitador de búfer dinámico.

5 S2W = Serial-to-wire (cable serial 2).

6 GBIC = Conversor de interfaz Gigabit.

Resolución de problemas comunes en la alta utilización de la CPU

Esta sección cubre algunos de los problemas más comunes relacionados con la alta utilización de la CPU en los switches Catalyst 4500.

Elevada utilización de la CPU debido los paquetes de conmutación por proceso

Una de las razones más comunes de la elevada utilización de la CPU es que la CPU del switch Catalyst 4500 está ocupada con el procesamiento del reenvío de paquetes por software o paquetes de control. Ejemplos de paquetes reenviados por software incluyen IPX o paquetes de control como BPDU. Una pequeña cantidad de estos paquetes normalmente se envía a la CPU. Sin embargo, una mayor cantidad de paquetes podría indicar un error en la configuración o un evento de red. Usted debe identificar las causa de los eventos que envían paquetes a la CPU para que sean procesados. Esta identificación le permite depurar los problemas de una alta utilización de la CPU.

Algunas las razones más comunes de la alta utilización de la CPU debido a paquetes de conmutación por proceso son:

Otras razones de la conmutación de paquetes a la CPU son:

  • Fragmentación de MTU: asegúrese de que todas las interfaces a lo largo de la ruta del paquete tengan la misma MTU.

  • ACL con indicadores TCP diferentes a los establecidos

  • ruteo de IP versión 6 (IPv6): sólo se soporta a través del trayecto de conmutación por software.

  • GRE: sólo se soporta a través del trayecto de conmutación por software.

  • Tráfico denegado en la entrada o salida de la ACL del router (RACL)

    Nota: Velocidad limitada en la versión de software Cisco IOS 12.1(13)EW1 y posteriores.

    Ejecute el comando no ip unreachables bajo la interfaz de la ACL.

  • El tráfico de ARP y DHCP que llega a la CPU para su procesamiento es excesivo debido a una gran cantidad de hosts con conexión directa

    Si sospecha de un ataque DHCP, utilice la función de indagación DCHP para limitar la velocidad del tráfico DHCP desde cualquier puerto host.

  • Número excesivo de consultas SNMP realizadas por una estación de trabajo legítima o por una estación extrema que esté experimentando un mal funcionamiento.

Un número elevado de instancias de puertos de árbol de expansión

El Catalyst 4500 soporta 3000 instancias de puertos de árbol de expansión o puertos activos en el modo Per VLAN Spanning Tree Plus (PVST+). Esta compatibilidad está disponible en todos los motores de supervisión, excepto Supervisor Engine II+ y II+TS, y el switch Catalyst 4948. El Supervisor Engine II+ y II+TS y el switch Catalyst 4948 soportan hasta 1500 instancias de puertos. Si usted excede el número instancias STP recomendadas el switch exhibirá un uso elevado de la CPU.

cat4500_high_cpu-3.gif

La figura muestra un switch Catalyst 4500 con tres puertos troncales, donde cada uno transporta VLAN desde 1 hasta 100. Esto equivale a 300 instancias de puerto de árbol de expansión. En general, es posible calcular las instancias de puerto de árbol de expansión con la siguiente fórmula:

Total number of STP instances = Number of access ports + Sum of all VLANs
that are carried in each of the trunks

En el diagrama, no hay puertos de acceso, pero los tres puertos troncales transportan VLAN de1 a 100:

Total number of STP instances = 0 + 100 + 100 + 100 = 300

Paso 1: Verifique los procesos de Cisco IOS con el comando show processes cpu.

Esta sección analiza los comandos que utiliza un administrador para limitar el problema relacionado con la alta utilización de la CPU. Si ejecuta el comando show processes cpu, verá que existen dos procesos principales, Cat4k Mgmt LoPri y Spanning Tree, son los que principalmente utilizan la CPU. Sólo con esta información, usted sabe que los procesos de árbol de expansión consumen una porción considerable de los ciclos de la CPU.

Switch#show processes cpu
CPU utilization for five seconds: 74%/1%; one minute: 73%; five minutes: 50%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           4       198         20  0.00%  0.00%  0.00%   0 Chunk Manager
   2           4       290         13  0.00%  0.00%  0.00%   0 Load Meter
!--- Resultado suprimido.
  25         488        33      14787  0.00%  0.02%  0.00%   0 Per-minute Jobs
  26       90656    223674        405  6.79%  6.90%  7.22%   0 Cat4k Mgmt HiPri
  27      158796     59219       2681 32.55% 33.80% 21.43%   0 Cat4k Mgmt LoPri
  28          20      1693         11  0.00%  0.00%  0.00%   0 Galios Reschedul
  29           0         1          0  0.00%  0.00%  0.00%   0 IOS ACL Helper
  30           0         2          0  0.00%  0.00%  0.00%   0 NAM Manager
!--- Resultado suprimido.
  41           0         1          0  0.00%  0.00%  0.00%   0 SFF8472
  42           0         2          0  0.00%  0.00%  0.00%   0 AAA Dictionary R
  43       78564     20723       3791 32.63% 30.03% 17.35%   0 Spanning Tree   
  44         112       999        112  0.00%  0.00%  0.00%   0 DTP Protocol
  45           0       147          0  0.00%  0.00%  0.00%   0 Ethchnl

Paso 2: Verifique los procesos específicos de Catalyst 4500 con el comando show platform health.

Para poder entender qué procesos específicos relacionados a las plataformas utilizan la CPU, ejecute el comando show platform health Desde esta salida puede apreciar que el proceso K2CpuMan Review, un trabajo que maneja los paquetes vinculados a la CPU, utiliza la CPU:

Switch#show platform health
%CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
!--- Resultado suprimido.
TagMan-RecreateMtegR   1.00   0.00     10      0  100  500    0   0    0  0:00
K2CpuMan Review       30.00  37.62     30     53  100  500   41  33    1  2:12
K2AccelPacketMan: Tx  10.00   4.95     20      0  100  500    5   4    0  0:36
K2AccelPacketMan: Au   0.10   0.00      0      0  100  500    0   0    0  0:00
K2AclMan-taggedFlatA   1.00   0.00     10      0  100  500    0   0    0  0:00

Paso 3: Verifique la cola de la CPU que recibe el tráfico para identificar el tipo de tráfico dirigido hacia la CPU.

Ejecute el comando show platform cpu packet statistics para verificar qué cola de la CPU recibe el paquete. El resultado de esta sección muestra que la cola de control recibe un alto número de paquetes. Utilice la información presente en la Tabla 1 y la conclusión a la que llegó en el Paso 1. Usted puede determinar que los paquetes que procesa la CPU y la causa de la alta utilización de la CPU es el procesamiento BPDU.

Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Total packet queues 16
Packets Received by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp                            202760       196       173       128         28
Control                         388623      2121      1740       598         16

Packets Dropped by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Control                          17918         0        19        24          3

Paso 4: Identifique la causa principal del problema.

Ejecute el comando show spanning-tree summary . Es posible verificar si la recepción de BPDU se debe a un alto número de instancias de puertos de árbol de expansión. El resultado identifica claramente la raíz del problema:

Switch#show spanning-tree summary
Switch is in pvst mode
Root bridge for: none
Extended system ID           is enabled
Portfast Default             is disabled
PortFast BPDU Guard Default  is disabled
Portfast BPDU Filter Default is disabled
Loopguard Default            is disabled
EtherChannel misconfig guard is enabled
UplinkFast                   is disabled
BackboneFast                 is disabled
Configured Pathcost method used is short
!--- Resultado suprimido. 
Name                   Blocking Listening Learning Forwarding STP Active
---------------------- -------- --------- -------- ---------- ----------
2994 vlans                   0         0        0       5999       5999

En el modo de configuración PVST+ existe un gran número de VLAN. Para resolver el problema, cambie el modo STP a MST (Multiple Spanning Tree, árbol de expansión múltiple). En algunos casos, la cantidad de instancias STP es alta debido a que un gran número de VLAN se reenvía a los puertos troncales. En este caso, separe las VLAN que no son necesarias del tronco, en forma manual, para disminuir la cantidad de puertos STP activos a una cifra inferior al valor recomendado.

Recomendación: Asegúrese de no configurar los puertos los puertos de teléfono IP como puertos troncales. Este es un error de configuración muy común. Configure los puertos de teléfono IP con una configuración de voz VLAN. Esta configuración crea un pseudotroncal, pero no requiere que usted separe manualmente las VLAN innecesarias. Para obtener más información acerca de cómo configurar los puertos de voz, consulte Guía de configuración de software para interfaz de voz. Los teléfonos IP de fabricantes ajenos a Cisco no soportan esta voz VLAN ni la configuración auxiliar VLAN. Con estos teléfonos (fabricantes ajenos a Cisco), usted deberá realizar la separación de los puertos manualmente.

Redirecciones ICMP, paquetes de ruteo en la misma interfaz

Los paquetes de ruteo en la misma interfaz, o el tráfico entrante y saliente en la misma interfaz L3, puede hacer que el switch redireccione el ICMP (Protocolo de control de mensajes de Internet). Si el switch sabe que el dispositivo de salto siguiente (next hop) del destino final se encuentra en la misma subred que el dispositivo de envío, genera redirecciones ICMP hacia la fuente: Los mensajes redireccionados le indican a la fuente que debe enviar el paquete directamente al dispositivo de salto siguiente (next hop). Estos mensajes indican que el dispositivo de salto siguiente (next hop) posee una mejor ruta hacia el destino, una ruta con un salto menos que ese switch.

En el diagrama de esta sección, el PC A se comunica con el servidor Web. La gateway predeterminada del PC A apunta hacia la dirección de IP de la interfaz VLAN 100. Sin embargo, el router de salto siguiente (next hop) que permite a Catalyst 4500 llegar a destino está en la misma subred que el PC A. La mejor ruta en este caso consiste en enviar directamente al “router”. Catalyst 4500 le envía un mensaje de redirección de ICMP al PC A. El mensaje le indica al OC A que debe enviar los paquetes destinados al servidor Web a través del router, en lugar de hacerlo a través de Catalyst 4500. Sin embargo, en la mayoría de los casos, los dispositivos finales no responden a la redirección ICMP. La falta de respuesta hace que Catalyst 4500 dedique una gran cantidad de ciclos de la CPU para la generación de estos redireccionamientos ICMP para todos los paquetes que Catalyst reenvía a través de la misma interfaz de los paquetes de ingreso.

cat4500_high_cpu-4.gif

El redireccionamiento ICMP está habilitado de forma predeterminada. Para deshabilitarlo, utilice el comando no ip icmp redirects. Ejecute el comando en la interfaz SVI o L3 pertinente.

Nota: Como ip icmp redirects es un comando predeterminado, no es visible en el resultado del comando show running-configuration.

Paso 1: Verifique los procesos de Cisco IOS con el comando show processes cpu.

Ejecute el comando show processes cpu Usted podrá apreciar que son dos los procesos principales, Cat4k Mgmt LoPri e IP Input, que fundamentalmente utilizan la CPU. Sólo con esta información, usted sabe que el proceso de paquetes IP consumen una porción considerable. de la CPU.

Switch#show processes cpu
Utilización de la CPU durante cinco segundos: 38%/1%; un minuto: 32%, cinco minutos: 32%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           0        63          0  0.00%  0.00%  0.00%   0 Chunk Manager
   2          60     50074          1  0.00%  0.00%  0.00%   0 Load Meter
   3           0         1          0  0.00%  0.00%  0.00%   0 Deferred Events
!--- Resultado suprimido.
  27         524    250268          2  0.00%  0.00%  0.00%   0 TTY Background
  28         816    254843          3  0.00%  0.00%  0.00%   0 Per-Second Jobs
  29      101100      5053      20007  0.00%  0.01%  0.00%   0 Per-minute Jobs
  30    26057260  26720902        975  5.81%  6.78%  5.76%   0 Cat4k Mgmt HiPri
  31    19482908  29413060        662 19.64% 18.20% 20.48%   0 Cat4k Mgmt LoPri 
!--- Resultado suprimido.
  35          60       902          0  0.00%  0.00%  0.00%   0 DHCP Snooping
  36    504625304 645491491       781 72.40% 72.63% 73.82%   0 IP Input

Paso 2: Verifique los procesos específicos al Catalyst 4500 con el comando show platform health.

El resultado del comando show platform health confirma el uso de la CPU para poder procesar los paquetes vinculados a esta.

Switch#show platform health 
%CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
--- Resultado suprimido.
TagMan-RecreateMtegR   1.00   0.00     10      0  100  500    0   0    0  0:00
K2CpuMan Review       330.00 19.18    150     79   25  500   20  19   18 5794:08
K2AccelPacketMan: Tx  10.00   4.95     20      0  100  500    5   4    0  0:36
K2AccelPacketMan: Au   0.10   0.00      0      0  100  500    0   0    0  0:00
K2AclMan-taggedFlatA   1.00   0.00     10      0  100  500    0   0    0  0:00

Paso 3: Verifique la cola de la CPU que recibe el tráfico para identificar el tipo de tráfico que está dirigido hacia la CPU.

Ejecute el comando show platform cpu packet statistics para verificar qué cola de la CPU recibe el paquete. Usted verá que la cola del L3 reenvío bajo recibe una cantidad de tráfico considerable.

Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Packets Received by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp                          48613268        38        39        38         39
Control                      142166648        74        74        73         73
Host Learning                  1845568         2         2         2          2
L3 Fwd High                         17         0         0         0          0
L3 Fwd Medium                     2626         0         0         0          0
L3 Fwd Low                  4717094264      3841      3879      3873       3547
L2 Fwd Medium                        1         0         0         0          0
L3 Rx High                      257147         0         0         0          0
L3 Rx Low                      5325772        10        19        13          7
RPF Failure                        155         0         0         0          0
ACL fwd(snooping)             65604591        53        54        54         53
ACL log, unreach              11013420         9         8         8          8

Paso 4: Identifique la causa principal del problema.

En este caso, utilice el SPAN (analizador del puerto conmutado) de la CPU para poder determinar el tráfico que llega a la CPU. Para obtener más información sobre el SPAN de la CPU, consulte Herramienta 1: Monitoreo del tráfico de la CPU con SPAN—Software versión 12.1(19)EW y posteriores del software Cisco IOS sección de este documento. Complete Realice un análisis de tráfico y una configuración a través del comando show running-configuration. En este caso, se enruta un paquete a través de la misma interfaz. Esto, a su vez, genera el problema de una redirección ICMP para cada paquete. Esta es una de las razones más comunes de la alta utilización de la CPU en Catalyst 4500.

Usted podría esperar que el dispositivo de origen actúe en la redirección ICMP que envía Catalyst 4500 y que cambie el siguiente salto (next hop) en el destino. Sin embargo, no todos los dispositivos responden a un redireccionamiento de ICMP. Si el dispositivo no responde, Catalyst 4500 debe enviar redirecciones para cada paquete en el que el switch recibe archivos del dispositivo remitente. Estos redireccionamientos consumen una porción importante de los recursos de la CPU. La solución es deshabilitar el redireccionamiento de ICMP. Ejecute el comando no ip redirects bajo las interfaces.

Este escenario también se puede dar cuando haya configurado una dirección IP secundaria. Cuando se habilita la dirección IP secundaria, la dirección de redireccionamiento IP se deshabilita automáticamente. Asegúrese de no habilitar los redireccionamientos IP de forma manual.

Como indica esta sección sobreredireccionamientos ICMP, paquetes de ruteo en la misma interfaz la mayoría de los dispositivos no responden a las redirecciones ICMP. Por lo tanto, como regla general, deshabilite esta función.

ruteo de AppleTalk o IPX

El switch Catalyst 4500 soporta el ruteo de IPX y Apple Talk sólo a través de un trayecto por software de reenvío. Con la configuración de tales protocolos, es normal que la CPU experimente una utilización más alta.

Nota: Esta conmutación de tráfico IPX y Apple Talk en la misma VLAN no requiere la conmutación de procesos. Sólo los aquellos paquetes que necesitan ser enrutados requieren un software de reenvío por trayectos

Paso 1: Verifique los procesos de Cisco IOS con el comando show processes cpu.

Ejecute el comando show processes cpu para verificar qué proceso de Cisco IOS consume la CPU. Note que en el resultado de este comando que el proceso más importante es Cat4k Mgmt LoPri:

witch#show processes cpu
CPU utilization for five seconds: 87%/10%; one minute: 86%; five minutes: 87%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           4        53         75  0.00%  0.00%  0.00%   0 Chunk Manager
!--- Resultado suprimido.
  25        8008   1329154          6  0.00%  0.00%  0.00%   0 Per-Second Jobs
  26      413128     38493      10732  0.00%  0.02%  0.00%   0 Per-minute Jobs
  27   148288424 354390017        418  2.60%  2.42%  2.77%   0 Cat4k Mgmt HiPri
  28   285796820 720618753        396 50.15% 59.72% 61.31%   0 Cat4k Mgmt LoPri

Paso 2: Verifique los procesos específicos al Catalyst 4500 con el comando show platform health.

El resultado del comando show platform health confirma el uso de la CPU para poder procesar los paquetes vinculados a esta.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
!--- Resultado suprimido.
TagMan-RecreateMtegR   1.00   0.00     10      4  100  500    0   0    0  0:00
K2CpuMan Review       30.00  27.39     30     53  100  500   42  47   42  4841:
K2AccelPacketMan: Tx  10.00   8.03     20      0  100  500   21  29   26  270:4

Paso 3: Verifique la cola de la CPU que recibe el tráfico para identificar el tipo de tráfico que está dirigido hacia la CPU.

Para poder determinar el tráfico que llega a la CPU, ejecute el comando show platform cpu packet statistics.

Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Packets Received by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp                          48613268        38        39        38         39
Control                      142166648        74        74        73         73
Host Learning                  1845568         2         2         2          2
L3 Fwd High                         17         0         0         0          0
L3 Fwd Medium                     2626         0         0         0          0
L3 Fwd Low                     1582414         1         1         1          1
L2 Fwd Medium                        1         0         0         0          0
L2 Fwd Low                   576905398      1837      1697      1938       1515
L3 Rx High                      257147         0         0         0          0
L3 Rx Low                      5325772        10        19        13          7
RPF Failure                        155         0         0         0          0
ACL fwd(snooping)             65604591        53        54        54         53
ACL log, unreach              11013420         9         8         8          8

Paso 4: Identifique la causa principal del problema.

Como el administrador ha configurado el ruteo IPX o Apple Talk, la identificación de la causa principal del problema se debe realizar en forma directa. Pero para confirmarlo, analice el tráfico de la CPU con el SPAN y asegúrese que el tráfico que muestra sea el tráfico esperado. Para obtener más información sobre el SPAN de la CPU, consulte la sección Herramienta 1: Monitoreo del tráfico de la CPU con SPAN—Software versión 12.1(19)EW y posteriores del software Cisco IOS de este documento.

En este caso, el administrador debe actualizar la línea de base de la CPU con el valor actual. La CPU de Catalyst 4500 se funciona de la manera esperada cuando los procesos de la CPU han cambiado los paquetes de software.

Reconocimiento del host

El switch Catalyst 4500 reconoce las direcciones MAC de distintos hosts si éstas no figuran en la tabla de direcciones MAC. El motor de conmutación reenvía una copia del paquete con la nueva dirección MAC a la CPU. Si existiera una cantidad excesiva de nuevas direcciones MAC que tendrá que reconocer el nuevo switch, esto podría resultar en una alta utilización de la CPU.

Paso 1: Verifique los procesos de Cisco IOS con el comando show processes cpu.

Ejecute el comando show processes cpu para verificar qué proceso de Cisco IOS consume la CPU. Tenga en cuenta que en este comando el proceso más importante es Cat4k Mgmt LoPri:

Switch#show processes cpu 
CPU utilization for five seconds: 89%/1%; one minute: 74%; five minutes: 71%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           4        53         75  0.00%  0.00%  0.00%   0 Chunk Manager
!--- Resultado suprimido.
  25        8008   1329154          6  0.00%  0.00%  0.00%   0 Per-Second Jobs
  26      413128     38493      10732  0.00%  0.02%  0.00%   0 Per-minute Jobs
  27   148288424 354390017        418  26.47% 10.28% 10.11%  0 Cat4k Mgmt HiPri
  28   285796820 720618753        396 52.71% 56.79% 55.70%   0 Cat4k Mgmt LoPri

Paso 2: Verifique los procesos específicos al Catalyst 4500 con el comando show platform health.

El resultado del comando show platform health confirma el nivel de utilización de la CPU para el proceso de los paquetes vinculados a ella.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
!--- Resultado suprimido.
TagMan-RecreateMtegR   1.00   0.00     10      4  100  500    0   0    0  0:00
K2CpuMan Review       30.00  46.88     30     47  100  500   30  29   21  265:01
K2AccelPacketMan: Tx  10.00   8.03     20      0  100  500   21  29   26  270:4

Paso 3: Verifique la cola de la CPU que recibe el tráfico para identificar el tipo de tráfico que está dirigido hacia la CPU.

Para poder determinar el tráfico que llega a la CPU, ejecute el comando show platform cpu packet statistics.

Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Packets Received by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Esmp                          48613268        38        39        38         39
Control                      142166648        74        74        73         73
Host Learning                  1845568      1328      1808      1393       1309
L3 Fwd High                         17         0         0         0          0
L3 Fwd Medium                     2626         0         0         0          0
L3 Fwd Low                     1582414         1         1         1          1
L2 Fwd Medium                        1         0         0         0          0
L2 Fwd Low                   576905398        37         7         8          5
L3 Rx High                      257147         0         0         0          0
L3 Rx Low                      5325772        10        19        13          7
RPF Failure                        155         0         0         0          0
ACL fwd(snooping)             65604591        53        54        54         53
ACL log, unreach              11013420         9         8         8          8

Paso 4: Identifique la causa principal del problema.

El resultado del comando show platform health le indica que la CPU puede ver una gran cantidad de nuevas direcciones MAC. Esta situación es normalmente el resultado de una inestabilidad en la topología de la red. Por ejemplo, cuando cambia la topología del árbol de expansión, el switch genera Notificaciones de cambio de la topología (TCN). La emisión de TCN reduce el tiempo de vencimiento a 15 segundos en el modo PVST+. Las entradas de las direcciones MAC se purgan si no se reconocen dentro del periodo de tiempo. En el caso de STP rápido (RSTP) (IEEE 802.1w) o MST (IEEE 802.1s), las entradas se vencen automáticamente si el TCN proviene de otro switch. Este vencimiento hace que las direcciones MAC se tengan que aprender o reconocer nuevamente. Esto no representa un aspecto importante cuando los cambios en la topología son algo fuera de lo común. Pero es posible que exista una cantidad excesiva de cambios topológicos a causa de un enlace alternado, un switch defectuoso, o puertos de host que no están activados por PortFast. Esto podría resultar en una gran cantidad de depuraciones en la tabla MAC y su posterior reaprendizaje. El próximo paso en la identificación de la causa principal del problema es solucionar los problemas de la red. El switch trabaja normalmente y envía los paquetes a la CPU para que aprenda las direcciones de host. Identifique y corrija el dispositivo defectuoso que resulta en una gran cantidad de TCN.

Su red puede contar con muchos dispositivos que envían tráfico en forma de ráfagas, lo que causa el vencimiento de las direcciones MAC, que demanda el posterior reaprendizaje por parte del switch. En este caso, aumente el tiempo de vencimiento de las direcciones MAC de la tabla para liberar al switch. Un mayor tiempo de vencimiento le permitirá al switch retener las direcciones MAC de los dispositivos en la tabla durante un mayor periodo tiempo antes de que venzan.

precauciónPrecaución: Realice este cambio sólo después de haberlo estudiado cuidadosamente. El cambio puede generar un agujero negro de tráfico si la red posee dispositivos movibles.

Recursos de hardware (TCAM) no disponibles para las ACL de seguridad

El Catalyst 4500 programa las ACL configuradas con el uso de los TCAM de Cisco. La TCAM permite las aplicaciones de ACL en trayecto de reenvío por hardware. La existencia de ACL en el trayecto de reenvío por hardware no tiene ningún impacto en el desempeño del switch. El desempeño es constante a pesar del tamaño de la ACL ya que el desempeño de las búsquedas ACL es a la velocidad de la línea. Sin embargo, la TCAM es un recurso limitado. Entonces, si configura una cantidad excesiva de entradas ACL excederá la capacidad de la TCAM. La Tabla 3 muestra el número de recursos TCAM disponible en cada uno de los motores de supervisión (Supervisor Engine) y switches Catalyst 4500.

Tabla 3: Capacidad TCAM en el motor de supervisión/switch Catalyst 4500

Producto

Función TCAM (por Dirección)

TCAM de Calidad de Servicio (QoS) (por Dirección)

Supervisor Engine II+/II+TS

8192 entradas con 1024 máscaras

8192 entradas con 1024 máscaras

Supervisor Engine III/IV/V y Catalyst 4948

16.384 entradas con 2048 máscaras

16.384 entradas con 2048 máscaras

Supervisor Engine V-10GE y Catalyst 4948-10GE

16.384 entradas con 16.384 máscaras

16.384 entradas con 16.384 máscaras

El switch utiliza la función TCAM para programar la ACL de seguridad, como RACL y VLAN ACL (VACL). El switch también utiliza la función TCAM para funciones de seguridad como la Protección de origen IP (IPSG) para las ACL dinámicas. El switch utiliza la TCAM de QoS para programar la clasificación y regular las ACL.

Cuando Catalyst 4500 se queda sin recursos TCAM durante la programación de una ACL de seguridad, una parte de la aplicación de la ACL se lleva a cabo a través del trayecto por software. Los paquetes que llegan a esas ACE se procesan en el software, lo que causa una alta utilización de la CPU. La ACL se programa verticalmente desde arriba. Es decir, si la ACL no cabe en la TCAM, es probable que la ACE que se encuentra en la porción inferior de la ACL no se programe en la TCAM.

Este mensaje de advertencia aparece cuando se produce el desbordamiento de la TCAM:

%C4K_HWACLMAN-4-ACLHWPROGERRREASON: (Suppressed 1times) Input(null, 12/Normal)
Security: 140 - insufficient hardware TCAM masks.
%C4K_HWACLMAN-4-ACLHWPROGERR: (Suppressed 4 times) Input Security: 140 - hardware TCAM
limit, some packet processing will be software switched.

Este mensaje de error se puede ver en la salida del comando show logging. El mensaje indica que se llevará acabo el procesamiento de software y que, como consecuencia, esto podría generar una alta utilización de la CPU. 

Nota: Si cambia una ACL de gran tamaño, se mostrará el siguiente mensaje antes de programar que se programe el cambio de la ACL nuevamente en la TCAM.

Paso 1: Verifique los procesos Cisco IOS con el comando show processes cpu.

Ejecute el comando show processes cpu Podrá apreciar que la utilización de la CPU es alta debido a que el proceso Cat4k Mgmt LoPri utiliza la mayoría de los ciclos de la CPU.

Switch#show processes cpu
CPU utilization for five seconds: 99%/0%; one minute: 99%; five minutes: 99%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           0        11          0  0.00%  0.00%  0.00%   0 Chunk Manager
   2        9716    632814         15  0.00%  0.00%  0.00%   0 Load Meter
   3         780       302       2582  0.00%  0.00%  0.00%   0 SpanTree Helper
!--- Resultado suprimido.
  23       18208   3154201          5  0.00%  0.00%  0.00%   0 TTY Background
  24       37208   3942818          9  0.00%  0.00%  0.00%   0 Per-Second Jobs
  25     1046448    110711       9452  0.00%  0.03%  0.00%   0 Per-minute Jobs
  26   175803612 339500656        517  4.12%  4.31%  4.48%   0 Cat4k Mgmt HiPri
  27   835809548 339138782       2464 86.81% 89.20% 89.76%   0 Cat4k Mgmt LoPri
  28       28668   2058810         13  0.00%  0.00%  0.00%   0 Galios Reschedul

Paso 2: Verifique los procesos específicos al Catalyst 4500 con el comando show platform health.

Ejecute el comando show platform health Podrá apreciar que K2CpuMan Review un trabajo que permite manejar los paquetes vinculados a la CPU, utiliza la CPU.

Switch#show platform health
%CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.01      2      0  100  500    0   0    0  13:45
GalChassisVp-review    3.00   0.20     10     16  100  500    0   0    0  88:44
S2w-JobEventSchedule  10.00   0.57     10      7  100  500    1   0    0  404:22
Stub-JobEventSchedul  10.00   0.00     10      0  100  500    0   0    0  0:00
StatValueMan Update    1.00   0.09      1      0  100  500    0   0    0  91:33
Pim-review             0.10   0.00      1      0  100  500    0   0    0  4:46
Ebm-host-review        1.00   0.00      8      4  100  500    0   0    0  14:01
Ebm-port-review        0.10   0.00      1      0  100  500    0   0    0  0:20
Protocol-aging-revie   0.20   0.00      2      0  100  500    0   0    0  0:01
Acl-Flattener          1.00   0.00     10      5  100  500    0   0    0  0:04
KxAclPathMan create/   1.00   0.00     10      5  100  500    0   0    0  0:21
KxAclPathMan update    2.00   0.00     10      6  100  500    0   0    0  0:05
KxAclPathMan reprogr   1.00   0.00      2      1  100  500    0   0    0  0:00
TagMan-InformMtegRev   1.00   0.00      5      0  100  500    0   0    0  0:00
TagMan-RecreateMtegR   1.00   0.00     10     14  100  500    0   0    0  0:18
K2CpuMan Review       30.00  91.31     30     92  100  500  128 119   84  13039:02
K2AccelPacketMan: Tx  10.00   2.30     20      0  100  500    2   2    2  1345:30
K2AccelPacketMan: Au   0.10   0.00      0      0  100  500    0   0    0  0:00

Paso 3: Verifique la cola de la CPU que recibe el tráfico para identificar el tipo de tráfico que está dirigido hacia la CPU.

Debe saber a qué cola de CPU se refiere y qué tipo de tráfico llega a la cola de la CPU. Ejecute el comando show platform cpu packet statistics. Usted verá que la cola del procesamiento sw de ACL recibe una gran cantidad de paquetes. Por lo tanto, el desbordamiento de TCAM es la causa de esta alta utilización de la CPU

Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Packets Received by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Control                       57902635        22        16        12          3
Host Learning                   464678         0         0         0          0
L3 Fwd Low                      623229         0         0         0          0
L2 Fwd Low                    11267182         7         4         6          1
L3 Rx High                         508         0         0         0          0
L3 Rx Low                      1275695        10         1         0          0
ACL fwd(snooping)              2645752         0         0         0          0
ACL log, unreach              51443268         9         4         5          5
ACL sw processing            842889240      1453      1532      1267       1179 

Packets Dropped by Packet Queue

Queue                  Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
L2 Fwd Low                        3270         0         0         0          0
ACL sw processing                12636         0         0         0          0

Paso 4: Solucione el problema:

En el Paso 3, usted determinó la causa principal de este escenario. Elimine la ACL que causó el desbordamiento o trate de minimizar la ACL a fin de evitar el desbordamiento. Consulte también las pautas para la Configuración de la seguridad de la red con ACL para optimizar la configuración y la programación de la ACL en el hardware.

La palabra clave de registro en ACL

El switch Catalyst 4500 soporta el registro de detalles de paquetas que llegan a cualquier entrada ACL específica, pero un registro excesivo puede causar la alta utilización de la CPU. Evite el uso de palabras claves de registro excepto durante el la etapa de detección de tráfico. Durante la etapa de detección de tráfico, usted identifica el tráfico que fluye a través de la red para el cual no ha configurado ningún ACE de forma explícita. No utilice la palabra clave de registro para recopilar datos estadísticos. En las versiones 12.1(13)EW y posteriores del software Cisco IOS, los mensajes de registro están limitados por tiempo. Si usted utiliza los mensajes de registro para contar el número de paquetes que coincide con la ACL, el recuento no será preciso. Sin embargo, puede utilizar el comando show access-list para obtener datos estadísticos precisos. En este caso, resulta más fácil identificar la causa principal del problema ya que una revisión de la configuración o los mensajes de registro pueden indicar el uso de la función de registro de ACL.

Paso 1: Verifique los procesos de Cisco IOS con el comando show processes cpu.

Ejecute el comando show processes cpupara verificar qué proceso de Cisco IOS consume la CPU. En esta salida de comando , usted notará que el proceso más importante es Cat4k Mgmt LoPri:

Switch#show processes cpu 
CPU utilization for five seconds: 99%/0%; one minute: 99%; five minutes: 99%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           0        11          0  0.00%  0.00%  0.00%   0 Chunk Manager
   2        9716    632814         15  0.00%  0.00%  0.00%   0 Load Meter
!--- Resultado suprimido.
  26   175803612 339500656        517  4.12%  4.31%  4.48%   0 Cat4k Mgmt HiPri
  27   835809548 339138782       2464 86.81% 89.20% 89.76%   0 Cat4k Mgmt LoPri
  28       28668   2058810         13  0.00%  0.00%  0.00%   0 Galios Reschedul

Paso 2: Verifique los procesos específicos al Catalyst 4500 con el comando show platform health.

Verifique los procesos específicos a las plataformas que utiliza la CPU. Ejecute el comando show platform health. En la salida, note que el proceso K2CpuMan Review utiliza la mayoría de los ciclos de la CPU. Esta actividad indica que la CPU está ocupada ya que está procesando paquetes destinados a ella.

Switch#show platform health
                      %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.01      2      0  100  500    0   0    0  13:45
GalChassisVp-review    3.00   0.20     10     16  100  500    0   0    0  88:44
S2w-JobEventSchedule  10.00   0.57     10      7  100  500    1   0    0  404:22
Stub-JobEventSchedul  10.00   0.00     10      0  100  500    0   0    0  0:00
StatValueMan Update    1.00   0.09      1      0  100  500    0   0    0  91:33
Pim-review             0.10   0.00      1      0  100  500    0   0    0  4:46
Ebm-host-review        1.00   0.00      8      4  100  500    0   0    0  14:01
Ebm-port-review        0.10   0.00      1      0  100  500    0   0    0  0:20
Protocol-aging-revie   0.20   0.00      2      0  100  500    0   0    0  0:01
Acl-Flattener          1.00   0.00     10      5  100  500    0   0    0  0:04
KxAclPathMan create/   1.00   0.00     10      5  100  500    0   0    0  0:21
KxAclPathMan update    2.00   0.00     10      6  100  500    0   0    0  0:05
KxAclPathMan reprogr   1.00   0.00      2      1  100  500    0   0    0  0:00
TagMan-InformMtegRev   1.00   0.00      5      0  100  500    0   0    0  0:00
TagMan-RecreateMtegR   1.00   0.00     10     14  100  500    0   0    0  0:18
K2CpuMan Review       30.00  91.31     30     92  100  500  128 119   84  13039:02
K2AccelPacketMan: Tx  10.00   2.30     20      0  100  500    2   2    2  1345:30
K2AccelPacketMan: Au   0.10   0.00      0      0  100  500    0   0    0  0:00

Paso 3: Verifique la cola de la CPU que recibe el tráfico para identificar el tipo de tráfico que está dirigido hacia la CPU.

Para poder determinar el tráfico que llega a la CPU, ejecute el comando show platform cpu packet statistics. En esta salida de comando, usted podrá ver que la recepción de paquetes es a causa de la palabra clave de registro de la ACL.

Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Total packet queues 16
Packets Received by Packet Queue

Queue             Total                5 sec avg 1 min avg 5 min avg 1 hour avg
----------------- -------------------- --------- --------- --------- ----------
Control                     1198701435        35        35        34         35
Host Learning                   874391         0         0         0          0
L3 Fwd High                        428         0         0         0          0
L3 Fwd Medium                    12745         0         0         0          0
L3 Fwd Low                     2420401         0         0         0          0
L2 Fwd High                      26855         0         0         0          0
L2 Fwd Medium                   116587         0         0         0          0
L2 Fwd Low                   317829151        53        41        31         31
L3 Rx High                        2371         0         0         0          0
L3 Rx Low                     32333361         7         1         2          0
RPF Failure                       4127         0         0         0          0
ACL fwd (snooping)            107743299        4         4         4          4
ACL log, unreach            1209056404      1987      2125      2139       2089 

Packets Dropped by Packet Queue

Queue             Total                5 sec avg 1 min avg 5 min avg 1 hour avg
----------------- -------------------- --------- --------- --------- ----------
ACL log, unreach             193094788       509       362       437        394

Paso 4: Solucione el problema:

En el Paso 3, usted determinó la causa principal de este escenario. Para poder prevenir este problema, retire la palabra clave de registro de las ACL. En la versión 12.0.1(13)EW1 del software Cisco IOS y versiones posteriores, los paquetes tienen un límite de tiempo para que la utilización de la PC no alcance niveles tan altos. Utilice los contadores de las listas de acceso para llevar un recuento de los elementos que llegan a la ACL. Los contadores de las listas de acceso se pueden ver en el comando de salida show access-list acl_id.

Otras causas del uso intensivo de la CPU

Existen otras causas para el uso intensivo de la CPU:

Excesiva inestabilidad de enlaces

El switch Catalyst 4500 exhibe una alta utilización de la CPU cuando uno o más de los enlaces adjuntos comienzan a experimentar una inestabilidad excesiva. Esta situación ocurre en las versiones de software Cisco IOS anteriores a la versión de software Cisco IOS 12.2(29)EWA.

Paso 1: Verifique los procesos de Cisco IOS con el comando show processes cpu.

Ejecute el comando show processes cpu para verificar qué proceso de Cisco IOS consume a la CPU. En este comando el proceso más importante es Cat4k Mgmt LoPri:

Switch#show processes cpu  
CPU utilization for five seconds: 96%/0%; one minute: 76%; five minutes: 68%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           0         4          0  0.00%  0.00%  0.00%   0 Chunk Manager
   2        9840    463370         21  0.00%  0.00%  0.00%   0 Load Meter
   3           0         2          0  0.00%  0.00%  0.00%   0 SNMP Timers
!--- Resultado suprimido.
  27   232385144 530644966        437 13.98% 12.65% 12.16%   0 Cat4k Mgmt HiPri
  28   564756724 156627753       3605 64.74% 60.71% 54.75%   0 Cat4k Mgmt LoPri
  29        9716   1806301          5  0.00%  0.00%  0.00%   0 Galios Reschedul 

Paso 2: Verifique los procesos específicos al Catalyst 4500 con el comando show platform health.

El resultado del comando show platform health indica que el proceso KxAclPathMan create agota a la CPU. Este proceso es para la creación de trayectos internacionales.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.03      2      0  100  500    0   0    0  9:49
GalChassisVp-review    3.00   1.11     10     62  100  500    0   0    0  37:39
S2w-JobEventSchedule  10.00   2.85     10      8  100  500    2   2    2  90:00
Stub-JobEventSchedul  10.00   5.27     10      9  100  500    4   4    4  186:2
Pim-review             0.10   0.00      1      0  100  500    0   0    0  2:51
Ebm-host-review        1.00   0.00      8      4  100  500    0   0    0  8:06
Ebm-port-review        0.10   0.00      1      0  100  500    0   0    0  0:14
Protocol-aging-revie   0.20   0.00      2      0  100  500    0   0    0  0:00
Acl-Flattener          1.00   0.00     10      5  100  500    0   0    0  0:00
KxAclPathMan create/   1.00  69.11     10      5  100  500   42  53   22  715:0
KxAclPathMan update    2.00   0.76     10      6  100  500    0   0    0  86:00
KxAclPathMan reprogr   1.00   0.00      2      1  100  500    0   0    0  0:00
TagMan-InformMtegRev   1.00   0.00      5      0  100  500    0   0    0  0:00
TagMan-RecreateMtegR   1.00   0.00     10    227  100  500    0   0    0  0:00
K2CpuMan Review       30.00   8.05     30     57  100  500    6   5    5  215:0
K2AccelPacketMan: Tx  10.00   6.86     20      0  100  500    5   5    4  78:42

Paso 3: Identifique la causa principal del problema.

Habilite un registro para los mensajes de enlace activo/inactivo. Este registro no está habilitado de forma predeterminada. La habilitación le ayudará a descubrir cuáles son los enlaces agresores muy rápidamente. Ejecute el comando logging event link-status en todas las interfaces. Puede utilizar el comando interface range para habilitar un rango de interfaces según su conveniencia, tal como se muestra en el ejemplo a continuación:

Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#interface range gigabitethernet 5/1 - 48
Switch(config-if-range)#logging event link-status
Switch(config--if-range)#end
Switch#show logging
!--- Resultado suprimido.
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up

Después de haber identificado la interfaz defectuosa o inestable, cierre la interfaz para poder resolver el problema de la alta utilización de la CPU. Cisco IOS Las versiones 12.2(2o)EWA2 y posteriores del software Cisco IOS han mejorado el funcionamiento del Catalyst 4500 con respecto al problema relacionado con los enlaces inestables. Por lo tanto, el impacto que tiene el problema en la CPU no es tan importante como. lo era antes de la introducción de las mejoras. Recuerde que este proceso es un proceso en segundo plano. Por lo tanto, la alta utilización de la CPU a causa de este problema no tiene ningún efecto adverso que afecte a los switches Catalyst 4500.

Picos elevados en la utilización de la CPU debido a la verificación de consistencia de FIB

El Catalyst 4500 puede exhibir picos elevados momentáneos en la utilización de la CPU durante una verificación de consistencia de una tabla de FIB. La tabla de FIB es la tabla de reenvío L3 que crea el proceso CEF. La verificación de consistencia mantiene la consistencia que existe entre la tabla de FIB del software Cisco IOS y las entradas de hardware. Esta consistencia asegura que los paquetes no se enviaran a través de otra ruta. La verificación se realiza cada 2 segundos y se ejecuta como un proceso de baja prioridad en segundo plano. Este proceso representa un comportamiento normal y no interfiere con ningún otro proceso o paquete de alta prioridad.

El resultado del comando show platform health muestra que K2Fib Consistency Ch consume la mayor parte de la CPU.

Nota: La utilización promedio de la CPU para este proceso está insignificantemente por encima de un minuto o una hora, lo que confirma que la verificación representa una pequeña revisión periódica. Este proceso en segundo plano sólo utiliza los ciclos inactivos de la CPU.

Switch#show platform health 
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.02      2      1  100  500    0   0    0  1:09
GalChassisVp-review    3.00   0.29     10      3  100  500    0   0    0  11:15
!--- Resultado suprimido.
K2Fib cam usage revi   2.00   0.00     15      0  100  500    0   0    0  0:00
K2Fib IrmFib Review    2.00   0.00     15      0  100  500    0   0    0  0:00
K2Fib Vrf Default Ro   2.00   0.00     15      0  100  500    0   0    0  0:00
K2Fib AdjRepop Revie   2.00   0.00     15      0  100  500    0   0    0  0:00
K2Fib Vrf Unpunt Rev   2.00   0.01     15      0  100  500    0   0    0  0:23
K2Fib Consistency Ch   1.00  60.40      5      2  100  500    0   0    0 100:23
K2FibAdjMan Stats Re   2.00   0.30     10      4  100  500    0   0    0  6:21
K2FibAdjMan Host Mov   2.00   0.00     10      4  100  500    0   0    0  0:00
K2FibAdjMan Adj Chan   2.00   0.00     10      0  100  500    0   0    0  0:00
K2FibMulticast Signa   2.00   0.01     10      2  100  500    0   0    0  2:04

Alta utilización de la CPU durante el proceso del movimiento de host K2FibAdjMan

El Catalyst 4500 puede exhibir una alta utilización de la CPU durante el proceso K2FibAdjMan Host Move. Este aumento aparece en la salida de comando show platform health Muchas direcciones MAC normalmente expiran o se aprenden en nuevos puertos. Esto causa la utilización elevada del CPU. La solución para este problema es aumentar el tiempo de vencimiento de dirección MAC. De lo contrario, puede realizar un trabajo de ingeniería en la red para evitar un número elevado de movimientos en las direcciones MAC. Las versiones 12.2(18)EW y posteriores del software Cisco IOS han mejorado este proceso para que consuma menos CPU. Consulte el ID de error de funcionamiento de Cisco CSCed15021 (solamente clientes registrados) .

Switch#show platform health 
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.02      2      1  100  500    0   0    0  1:09
GalChassisVp-review    3.00   0.29     10      3  100  500    0   0    0  11:15
S2w-JobEventSchedule  10.00   0.32     10      7  100  500    0   0    0  10:14
!--- Resultado suprimido.
K2FibAdjMan Stats Re   2.00   0.30     10      4  100  500    0   0    0  6:21
K2FibAdjMan Host Mov   2.00  18.68     10      4  100  500   25  29   28  2134:39
K2FibAdjMan Adj Chan   2.00   0.00     10      0  100  500    0   0    0  0:00
K2FibMulticast Signa   2.00   0.01     10      2  100  500    0   0    0  2:04
K2FibMulticast Entry   2.00   0.00     10      7  100  500    0   0    0  0:00

Alta utilización de la CPU durante el proceso RkiosPortMan Port Review

El Catalyst 4500 puede exhibir una alta utilización de la CPU durante el proceso RkiosPortMan Port Review en el resultado del comando show platform health de las versiones 12.2(25)EWA y 12.2(25)EWA1 del software Cisco IOS. El ID de falla de funcionamiento de Cisco CSCeh08768 (solamente clientes registrados) es el causante de la elevada utilización, que resuelve la versión 12.2(25)EWA2 del software Cisco IOS. Este proceso es un proceso en segundo plano y no afecta la estabilidad de los switches Catalyst 4500.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU
Lj-poll                1.00   0.02      2      1  100  500    0   0    0  1:09
GalChassisVp-review    3.00   0.29     10      3  100  500    0   0    0  11:15
S2w-JobEventSchedule  10.00   0.32     10      7  100  500    0   0    0  10:14
!--- Resultado suprimido.
K2 Packet Memory Dia   2.00   0.00     15      8  100  500    0   1    1  45:46
K2 L2 Aging Table Re   2.00   0.12     20      3  100  500    0   0    0  7:22
RkiosPortMan Port Re   2.00  87.92     12      7  100  500   99  99   89  1052:36
Rkios Module State R   4.00   0.02     40      1  100  500    0   0    0  1:28
Rkios Online Diag Re   4.00   0.02     40      0  100  500    0   0    0  1:15

Alta utilización de la CPU cuando el switch está conectado a un teléfono IP a través de puertos troncales

Si se configura un puerto tanto para la opción de voz VLAN como para la opción de acceso VLAN el puerto actúa como un puerto de acceso de VLAN múltiple. La ventaja consiste en que sólo se truncarán aquellos VLAN que están configurados para las opciones de voz y de acceso VLAN.

Los VLAN que se truncan al teléfono generan un aumento en la cantidad de instancias STP. El switch administra las instancias STP. La administración del aumento en las instancias STP también genera un aumento en la utilización de la CPU por parte del STP.

Las conexiones troncales de todas las VLAN también genera un tráfico desconocido e innecesario de transmisión, multidifusión y unidifusión que llega al enlace del teléfono.

Switch#show processes cpu
Utilización de la CPU durante cinco segundos: 69%/0%; un minuto: 72%, cinco minutos: 73%
 PID Runtime(ms)   Invoked      uSecs   5Sec   1Min   5Min TTY Process
   1           4       165         24  0.00%  0.00%  0.00%   0 Chunk Manager
   2       29012    739091         39  0.00%  0.00%  0.00%   0 Load Meter
   3       67080     13762       4874  0.00%  0.00%  0.00%   0 SpanTree Helper
   4           0         1          0  0.00%  0.00%  0.00%   0 Deferred Events
   5           0         2          0  0.00%  0.00%  0.00%   0 IpSecMibTopN
   6     4980144    570766       8725  0.00%  0.09%  0.11%   0 Check heaps
  26   539173952 530982442       1015 13.09% 13.05% 13.20%   0 Cat4k Mgmt HiPri
  27   716335120 180543127       3967 17.61% 18.19% 18.41%   0 Cat4k Mgmt LoPri
  33     1073728     61623      17424  0.00%  0.03%  0.00%   0 Per-minute Jobs
  34  1366717824 231584970       5901 38.99% 38.90% 38.92%   0 Spanning Tree
  35     2218424  18349158        120  0.00%  0.03%  0.02%   0 DTP Protocol
  36        5160    369525         13  0.00%  0.00%  0.00%   0 Ethchnl
  37      271016   2308022        117  0.00%  0.00%  0.00%   0 VLAN Manager
  38      958084   3965585        241  0.00%  0.01%  0.01%   0 UDLD
  39        1436     51011         28  0.00%  0.00%  0.00%   0 DHCP Snooping
  40         780     61658         12  0.00%  0.00%  0.00%   0 Port-Security
  41     1355308  12210934        110  0.00%  0.01%  0.00%   0 IP Input         

Herramientas para la resolución de problemas para analizar el tráfico que tiene como destino la CPU

Como lo ha demostrado este documento, el tráfico que está destinado a la CPU es una de las causas principales de la alta utilización de la CPU en el switch Catalyst 4500. El tráfico que tiene por destino la CPU puede ser intencional debido a la configuración o no intencional debido a un error en la configuración o a un ataque de negación de servicio. La CPU tiene un mecanismo de Calidad de Servicio (QoS) integrado que previene cualquier efecto adverso de la red a causa de este tráfico. Sin embargo, identifique la causa principal del tráfico dirigido a la CPU y elimine el tráfico no deseado.

Herramienta 1: Monitoreo del tráfico de la CPU con SPAN, versiones 12.1(19)EW y posteriores del software Cisco IOS

El switch Catalyst 4500 permite controlar el tráfico que está dirigido a la CPU, tanto entrante como saliente, mediante el uso de la función estándar SPAN. La interfaz de destino se conecta a un monitor de paquetes o al equipo portátil del administrador que ejecuta un software que rastrea paquetes (sniffer). Esta herramienta ayuda a analizar el tráfico que procesa la CPU de manera rápida y precisa. La herramienta ofrece la posibilidad de controlar las colas individuales que se dirigen al motor de paquetes de la CPU.

Nota: El motor de conmutación tiene 32 colas para el tráfico de la CPU, y el motor de paquetes de la CPU tiene 16.

Switch(config)#monitor session 1 source cpu ? 
  both   Monitor received and transmitted traffic
  queue  SPAN source CPU queue
  rx     Monitor received traffic only
  tx     Monitor transmitted traffic only
  <cr>
Switch(config)#monitor session 1 source cpu queue ? 
  <1-32>          SPAN source CPU queue numbers
  acl             Input and output ACL [13-20]
  adj-same-if     Packets routed to the incoming interface [7]
  all             All queues [1-32]
  bridged         L2/bridged packets [29-32]
  control-packet  Layer 2 Control Packets [5]
  mtu-exceeded    Output interface MTU exceeded [9]
  nfl             Packets sent to CPU by netflow (unused) [8]
  routed          L3/routed packets [21-28]
  rpf-failure     Multicast RPF Failures [6]
  span            SPAN to CPU (unused) [11]
  unknown-sa      Packets with missing source address [10]
Switch(config)#monitor session 1 source cpu queue all rx
Switch(config)#monitor session 1 destination interface gigabitethernet 1/3
Switch(config)#end
4w6d: %SYS-5-CONFIG_I: Configured from console by console

Switch#show monitor session 1 
Session 1
---------
Type              : Local Session
Source Ports      :
    RX Only       : CPU
Destination Ports : Gi1/3
    Encapsulation : Native
          Ingress : Disabled
         Learning : Disabled 

Si usted conecta un ordenador que ejecuta un programa rastreador (sniffer), podrá analizar el tráfico rápidamente. En esta sección aparecerá una ventana donde podrá ver que la causa de la alta utilización de la CPU es una excesiva cantidad de BPDU de STP.

Nota: La cantidad de BPDU de STP que aparece en el rastreador (sniffer) es normal. Pero si observa más de los que normalmente esperaría, tal vez haya excedido los limites recomendados para su motor de supervisión. Consulte la sección Un número elevado de instancias de puertos de árbol de de expansión de este documento para obtener más información.

cat4500_high_cpu-5.gif

Herramienta 2: Rastreador de CPU integrado: versiones 12.2(20)EW y posteriores del software Cisco IOS

El switch Catalyst 4500 ofrece un rastreador y un decodificador incorporado en la CPU que permite identificar rápidamente el tráfico que llega a la CPU. Puede habilitar esta función con el comando debug tal como se muestra en el ejemplo de esta sección. Esta función implementa un búfer circular que puede retener hasta 1024 paquetes al mismo tiempo. A medida que llega un nuevo paquete, se sobreescriben los paquetes más antiguos. Es seguro utilizar esta función cuando está solucionando los problemas relacionados con la alta utilización de la CPU.

Switch#debug platform packet all receive buffer
platform packet debugging is on
Switch#show platform cpu packet buffered
Total Received Packets Buffered: 36
-------------------------------------
Index 0:
7 days 23:6:32:37214 - RxVlan: 99, RxPort: Gi4/48 
Priority: Crucial, Tag: Dot1Q Tag, Event: Control Packet, Flags: 0x40, Size: 68
Eth: Src 00-0F-F7-AC-EE-4F Dst 01-00-0C-CC-CC-CD Type/Len 0x0032
Remaining data:
 0: 0xAA 0xAA 0x3  0x0  0x0  0xC  0x1  0xB  0x0  0x0
10: 0x0  0x0  0x0  0x80 0x0  0x0  0x2  0x16 0x63 0x28
20: 0x62 0x0  0x0  0x0  0x0  0x80 0x0  0x0  0x2  0x16
30: 0x63 0x28 0x62 0x80 0xF0 0x0  0x0  0x14 0x0  0x2
40: 0x0  0xF  0x0  0x0  0x0  0x0  0x0  0x2  0x0  0x63
Index 1:
7 days 23:6:33:180863 - RxVlan: 1, RxPort: Gi4/48
Priority: Crucial, Tag: Dot1Q Tag, Event: Control Packet, Flags: 0x40, Size: 68
Eth: Src 00-0F-F7-AC-EE-4F Dst 01-00-0C-CC-CC-CD Type/Len 0x0032
Remaining data:
 0: 0xAA 0xAA 0x3  0x0  0x0  0xC  0x1  0xB  0x0  0x0
10: 0x0  0x0  0x0  0x80 0x0  0x0  0x2  0x16 0x63 0x28
20: 0x62 0x0  0x0  0x0  0x0  0x80 0x0  0x0  0x2  0x16
30: 0x63 0x28 0x62 0x80 0xF0 0x0  0x0  0x14 0x0  0x2
40: 0x0  0xF  0x0  0x0  0x0  0x0  0x0  0x2  0x0  0x63

Herramienta 3: Identifica la interfaz que envía tráfico hacia la CPU: versión 12.2(20)EW y posteriores del software Cisco IOS.

Catalyst 4500 ofrece otra herramienta muy útil para identificar las principales interfaces que envían tráfico/paquetes para que sean procesados por la CPU. Esta herramienta le ayuda a identificar rápidamente un dispositivo errante que envía una gran cantidad de transmisiones u otros ataques de negación de servicio a la CPU. Es seguro utilizar esta función cuando está llevando a cabo la solución de problemas relacionados con la alta utilización de la CPU.

Switch#debug platform packet all count
platform packet debugging is on
Switch#show platform cpu packet statistics
!--- Resultado suprimido.
Packets Transmitted from CPU per Output Interface

Interface              Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Gi4/47                            1150         1         5        10          0
Gi4/48                              50         1         0         0          0

Paquetes recibidos en la CPU por interfaz de entrada

Interface              Total           5 sec avg 1 min avg 5 min avg 1 hour avg
---------------------- --------------- --------- --------- --------- ----------
Gi4/47                           23130         5        10        50         20
Gi4/48                              50         1         0         0          0

Resumen

Los switches Catalyst 4500 manejan un alto porcentaje de reenvío de paquetes por hardware de la versión 4 de IP (IPv4). Algunas de las funciones o excepciones pueden causar el reenvío de algunos paquetes a través del trayecto del proceso de la CPU. Los switches Catalyst 4500 utilizan un sofisticado mecanismo de Calidad de Servicio (QoS) que maneja los paquetes que están dirigidos a la CPU. Este mecanismo asegura confiabilidad y estabilidad en los switches y, al mismo tiempo, maximiza el software de la CPU a cargo de realizar el reenvío de los paquetes. Versión de software Cisco IOS 12.2(25)EWA2 y posteriores ofrecen mejoras adicionales para el manejo y para el registro de paquetes/procesos. El switch Catalyst 4500 ofrece además, suficientes comandos y sólidas herramientas que le ayudan a identificar la causa principal de los escenarios relacionados con la alta utilización de la CPU. Pero, en la mayoría de los casos, la alta utilización de la CPU en Catalyst 4500 no es a causa de una estabilidad en la red ni ni tampoco un motivo de preocupación.


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: 65591