Utilización alta de la CPU en los switches Catalyst de la serie 4500 que se basan en el software Cisco IOS. 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 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 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 Tramas con direcciones MAC de origen desconocidas que se copian a la CPU para host poder construir la tabla de reenvío L2 3, 4, 5 Los paquetes se deben reenviar por software 4 L3 reenvío alto, L3 como Túneles GRE reenvío alto/medio, Si no se resuelve el ARP 5 para la dirección L3 reenvío bajo IP de destino, los paquetes se envían a esta cola. Los paquetes que se reenvían como resultado de un bridge 6, 7, 8 L2 reenvío más alto, L2 reenvío alto/medio, L2 reenvío bajo 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 11 12 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 . Fallo de RPF: verificar los paquetes de multidifusión que fallaron el RPF9 ACL fwd(snooping) Paquetes que están procesados por el DHCP 10 snooping, por una inspección ARP dinámica o por las funciones de indagación IGMP11 Paquetes que llegan a un ACE12 con la palabra clave log o paquetes que fueron 13 Mensaje ACL fuera de alcance 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 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 33 34 4468 0 0 162748 1 2 27 0 0 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0 Galios Reschedul 0 IOS ACL Helper 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 Target Actual Lj-poll 1.00 0.02 GalChassisVp-review 3.00 0.29 S2w-JobEventSchedule 10.00 0.32 Stub-JobEventSchedul 10.00 12.09 StatValueMan Update 1.00 0.22 Pim-review 0.10 0.00 Ebm-host-review 1.00 0.00 Ebm-port-review 0.10 0.00 Protocol-aging-revie 0.20 0.00 Acl-Flattener e 1.00 0.00 KxAclPathMan create/ 1.00 0.00 KxAclPathMan update 2.00 0.00 KxAclPathMan reprogr 1.00 0.00 TagMan-RecreateMtegR 1.00 0.00 K2CpuMan Review 30.00 10.19 K2AccelPacketMan: Tx 10.00 2.20 K2AccelPacketMan: Au 0.10 0.00 K2AclMan-taggedFlatA 1.00 0.00 K2AclCamMan stale en 1.00 0.00 K2AclCamMan hw stats 3.00 1.04 K2AclCamMan kx stats 1.00 0.00 K2AclCamMan Audit re 1.00 0.00 K2AclPolicerTableMan 1.00 0.00 K2L2 Address Table R 2.00 0.00 K2L2 New Static Addr 2.00 0.00 K2L2 New Multicast A 2.00 0.00 K2L2 Dynamic Address 2.00 0.00 K2L2 Vlan Table Revi 2.00 0.00 K2 L2 Destination Ca 2.00 0.00 K2PortMan Review 2.00 0.72 Gigaport65535 Review 0.40 0.07 Gigaport65535 Review 0.40 0.08 K2Fib cam usage revi 2.00 0.00 K2Fib IrmFib Review 2.00 0.00 K2Fib Vrf Default Ro 2.00 0.00 K2Fib AdjRepop Revie 2.00 0.00 K2Fib Vrf Unpunt Rev 2.00 0.01 K2Fib Consistency Ch 1.00 0.00 K2FibAdjMan Stats Re 2.00 0.30 K2FibAdjMan Host Mov 2.00 0.00 K2FibAdjMan Adj Chan 2.00 0.00 K2FibMulticast Signa 2.00 0.01 RunTimeMax Priority Average %CPU Total Target Actual Fg Bg 5Sec Min Hour CPU 2 1 100 500 0 0 0 1:09 10 3 100 500 0 0 0 11:15 10 7 100 500 0 0 0 10:14 10 6 100 500 14 13 9 396:35 1 0 100 500 0 0 0 6:28 1 0 100 500 0 0 0 0:22 8 0 100 500 0 0 0 0:05 1 0 100 500 0 0 0 0:01 2 0 100 500 0 0 0 0:00 10 0 100 500 0 0 0 0:00 10 5 100 500 0 0 0 0:39 10 0 100 500 0 0 0 0:00 2 0 100 500 0 0 0 0:00 10 0 100 500 0 0 0 0:00 30 28 100 500 14 13 9 397:11 20 0 100 500 2 2 1 82:06 0 0 100 500 0 0 0 0:00 10 0 100 500 0 0 0 0:00 10 0 100 500 0 0 0 0:00 10 5 100 500 1 1 0 39:36 10 5 100 500 0 0 0 13:40 10 5 100 500 0 0 0 13:10 10 1 100 500 0 0 0 0:38 12 5 100 500 0 0 0 0:00 10 1 100 500 0 0 0 0:00 10 5 100 500 0 0 0 0:01 10 0 100 500 0 0 0 0:00 12 9 100 500 0 0 0 0:01 10 0 100 500 0 0 0 0:00 15 11 100 500 1 1 0 37:22 4 2 100 500 0 0 0 3:38 4 2 100 500 0 0 0 3:39 15 0 100 500 0 0 0 0:00 15 0 100 500 0 0 0 0:00 15 0 100 500 0 0 0 0:00 15 0 100 500 0 0 0 0:00 15 0 100 500 0 0 0 0:23 5 2 100 500 0 0 0 29:25 10 4 100 500 0 0 0 6:21 10 4 100 500 0 0 0 0:00 10 0 100 500 0 0 0 0:00 10 2 100 500 0 0 0 2:04 K2FibMulticast Entry K2FibMulticast Irm M K2FibFastDropMan Rev K2FibPbr route map r K2FibPbr flat acl pr K2FibPbr consolidati K2FibPerVlanPuntMan K2FibFlowCache flow K2FibFlowCache flow K2FibFlowCache adj r K2FibFlowCache flow K2MetStatsMan Review K2FibMulticast MET S K2QosDblMan Rate DBL IrmFibThrottler Thro K2 VlanStatsMan Revi K2 Packet Memory Dia K2 L2 Aging Table Re RkiosPortMan Port Re Rkios Module State R Rkios Online Diag Re RkiosIpPbr IrmPort R RkiosAclMan Review MatMan Review Slot 3 ILC Manager R Slot 3 ILC S2wMan Re Slot 4 ILC Manager R Slot 4 ILC S2wMan Re Slot 5 ILC Manager R Slot 5 ILC S2wMan Re Slot 6 ILC Manager R Slot 6 ILC S2wMan Re Slot 7 ILC Manager R Slot 7 ILC S2wMan Re EthHoleLinecardMan(1 EthHoleLinecardMan(2 EthHoleLinecardMan(6 %CPU Totals 2.00 0.00 2.00 0.00 2.00 0.00 2.00 0.06 2.00 0.07 2.00 0.01 2.00 0.00 2.00 0.01 2.00 0.00 2.00 0.01 2.00 0.00 2.00 0.14 2.00 0.00 2.00 0.12 2.00 0.01 2.00 1.46 2.00 0.00 2.00 0.12 2.00 0.73 4.00 0.02 4.00 0.02 2.00 0.02 3.00 0.06 0.50 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 3.00 0.00 1.66 0.04 1.66 0.02 1.66 0.17 ------------212.80 35.63 10 10 7 20 20 10 15 10 10 10 10 5 10 7 7 15 15 20 12 40 40 10 30 4 10 10 10 10 10 10 10 10 10 10 10 10 10 7 0 5 2 0 4 0 0 0 0 2 0 0 0 7 8 3 7 1 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 7 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 100 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0:00 0 0:00 0 0:00 0 16:42 0 3:24 0 0:24 0 0:00 0 0:23 0 0:00 0 0:20 0 0:06 0 23:40 0 0:00 0 4:52 0 0:21 1 64:44 1 45:46 0 7:22 1 52:36 0 1:28 0 1:15 0 2:44 0 2:35 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 0:00 0 1:18 0 1:18 0 6:38 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 . 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 El proceso que realiza el reenvío de paquetes por software K2CpuMan Revisión K2AccelPacketMan 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. 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: Un número elevado de instancias de puertos de árbol de expansión Redireccionamientos ICMP, paquetes de ruteo en la misma interfaz ruteo IPX o Apple talk Reconocimiento del host Recursos de hardware (TCAM) no disponibles para las ACL de seguridad La palabra clave de registro en ACL 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. 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 !--- Resultado suprimido. TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 K2CpuMan Review 30.00 37.62 30 53 100 500 41 33 1 K2AccelPacketMan: Tx 10.00 4.95 20 0 100 500 5 4 0 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 CPU 0:00 2:12 0:36 0:00 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. 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: PID Runtime(ms) Invoked uSecs 5Sec 1 0 63 0 0.00% 2 60 50074 1 0.00% 3 0 1 0 0.00% !--- Resultado suprimido. 38%/1%; un minuto: 32%, cinco minutos: 32% 1Min 5Min TTY Process 0.00% 0.00% 0 Chunk Manager 0.00% 0.00% 0 Load Meter 0.00% 0.00% 0 Deferred Events 27 524 250268 28 816 254843 29 101100 5053 30 26057260 26720902 31 19482908 29413060 !--- Resultado suprimido. 35 60 902 36 504625304 645491491 2 0.00% 0.00% 0.00% 3 0.00% 0.00% 0.00% 20007 0.00% 0.01% 0.00% 975 5.81% 6.78% 5.76% 662 19.64% 18.20% 20.48% 0 0.00% 0.00% 0.00% 781 72.40% 72.63% 73.82% 0 0 0 0 0 TTY Background Per-Second Jobs Per-minute Jobs Cat4k Mgmt HiPri Cat4k Mgmt LoPri 0 DHCP Snooping 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ó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. 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 16.384 entradas con y Catalyst 4948-10GE 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 Lj-poll 1.00 0.01 2 0 100 500 0 0 0 GalChassisVp-review 3.00 0.20 10 16 100 500 0 0 0 S2w-JobEventSchedule 10.00 0.57 10 7 100 500 1 0 0 Stub-JobEventSchedul 10.00 0.00 10 0 100 500 0 0 0 StatValueMan Update 1.00 0.09 1 0 100 500 0 0 0 Pim-review 0.10 0.00 1 0 100 500 0 0 0 Ebm-host-review 1.00 0.00 8 4 100 500 0 0 0 CPU 13:45 88:44 404:22 0:00 91:33 4:46 14:01 Ebm-port-review Protocol-aging-revie Acl-Flattener KxAclPathMan create/ KxAclPathMan update KxAclPathMan reprogr TagMan-InformMtegRev TagMan-RecreateMtegR K2CpuMan Review K2AccelPacketMan: Tx K2AccelPacketMan: Au 0.10 0.20 1.00 1.00 2.00 1.00 1.00 1.00 30.00 10.00 0.10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 91.31 2.30 0.00 1 2 10 10 10 2 5 10 30 20 0 0 0 5 5 6 1 0 14 92 0 0 100 100 100 100 100 100 100 100 100 100 100 500 500 500 500 500 500 500 500 500 500 500 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 119 2 2 0 0 0 0 0 0 0 0 0 0 84 2 0 0:20 0:01 0:04 0:21 0:05 0:00 0:00 0:18 13039:02 1345:30 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 Target Actual Target Actual Lj-poll 1.00 0.01 2 0 GalChassisVp-review 3.00 0.20 10 16 S2w-JobEventSchedule 10.00 0.57 10 7 Stub-JobEventSchedul 10.00 0.00 10 0 StatValueMan Update 1.00 0.09 1 0 Pim-review 0.10 0.00 1 0 Ebm-host-review 1.00 0.00 8 4 Ebm-port-review 0.10 0.00 1 0 Protocol-aging-revie 0.20 0.00 2 0 Acl-Flattener 1.00 0.00 10 5 KxAclPathMan create/ 1.00 0.00 10 5 KxAclPathMan update 2.00 0.00 10 6 KxAclPathMan reprogr 1.00 0.00 2 1 TagMan-InformMtegRev 1.00 0.00 5 0 TagMan-RecreateMtegR 1.00 0.00 10 14 K2CpuMan Review 30.00 91.31 30 92 K2AccelPacketMan: Tx 10.00 2.30 20 0 K2AccelPacketMan: Au 0.10 0.00 0 0 Priority Average %CPU Fg Bg 5Sec Min Hour 100 500 0 0 0 100 500 0 0 0 100 500 1 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 0 0 0 100 500 128 119 84 100 500 2 2 2 100 500 0 0 0 Total CPU 13:45 88:44 404:22 0:00 91:33 4:46 14:01 0:20 0:01 0:04 0:21 0:05 0:00 0:00 0:18 13039:02 1345:30 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 Picos elevados en la utilización de la CPU debido a la verificación de consistencia de FIB Alta utilización de la CPU durante el proceso K2FibAdjMan Host Move Alta utilización de la CPU durante el proceso RkiosPortMan Port Review Alta utilización de la CPU cuando está conectada a un teléfono IP mediante el uso de puertos troncales Picos elevados durante una programación de ACL importante El pico en la utilización de la CPU ocurre durante la aplicación o la eliminación de una gran ACL de una interfaz. 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 3w5d: %LINK-3-UPDOWN: Interface 3w5d: %LINK-3-UPDOWN: Interface 3w5d: %LINK-3-UPDOWN: Interface 3w5d: %LINK-3-UPDOWN: Interface 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, GigabitEthernet5/24, GigabitEthernet5/24, GigabitEthernet5/24, GigabitEthernet5/24, GigabitEthernet5/24, changed changed changed changed changed changed state state state state state state to to to to to to down up down up down 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 --------Type : Source Ports : RX Only : Destination Ports : Encapsulation : Ingress : Learning : session 1 Local Session CPU Gi1/3 Native Disabled 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. 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, Eth: Src 00-0F-F7-AC-EE-4F Dst 01-00-0C-CC-CC-CD Type/Len 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, Eth: Src 00-0F-F7-AC-EE-4F Dst 01-00-0C-CC-CC-CD Type/Len 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 Flags: 0x40, Size: 68 0x0032 Flags: 0x40, Size: 68 0x0032 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. © 1992-2014 Cisco Systems Inc. Todos los Derechos Reservados. Fecha de Generación del PDF: 23 Marzo 2008 http://www.cisco.com/cisco/web/support/LA/7/77/77440_cat4500_high_cpu.html