Inicio / Notas técnicas / Resolución de problemas de CPU alta en switch

Utilización de CPU alta en el switch: encontrar qué está consumiendo el plano de control

Un switch lento, o que descarta paquetes Hello de OSPF y latidos de VRRP que nunca debería descartar, a menudo se remonta a una sola cosa: uso de CPU fijado alto durante varios minutos seguidos. Este es el orden que encuentra más rápido la tarea que realmente está consumiendo la CPU, los dos casos de campo que explican la mayoría de estos tickets, y las protecciones que evitan que vuelva a ocurrir.

By Yuwen Zhang (Atlas), founder of AtlasCommTech — 13 years of carrier & enterprise network deployments · Updated July 2026

Unos minutos de CPU alta es normal. Persistente, no.

La primera pregunta no es «por qué la CPU está alta» — es «esto es realmente anormal», y eso se evalúa en una ventana de cinco minutos, no en un segundo.

Un breve pico de CPU por una tarea de software rutinaria no es inusual y se despeja solo. Lo que vale la pena perseguir es un uso de CPU que se mantiene alto en el promedio de cinco minutos que muestra display cpu-usage — ese patrón casi siempre significa un evento anormal o algo que genera un volumen inusual de tráfico del plano de control, y es exactamente el tipo de carga que empieza a desplazar los paquetes Hello de OSPF y los latidos de VRRP, momento en el que un problema de CPU se convierte en una interrupción.

A continuación, el orden que encuentra la falla más rápido: confirmar que la CPU realmente está anormalmente alta y ver qué tarea la está consumiendo, los dos casos de campo — una tormenta de paquetes TC (Topology Change) y un bucle MSTP recalculando la topología — que entre ambos explican la mayoría de estos tickets, y las protecciones que vale la pena tener configuradas antes de que vuelva a suceder.

Siga la ruta de diagnóstico, no una suposición

Tres comprobaciones en secuencia — el número de uso general, qué tarea lo está consumiendo, y si el CPCAR está descartando paquetes de protocolo — cubren casi todos los casos reales.

display cpu-usage Five-minute average persistently high? Yes — check which task, then CPCAR drops No — not a CPU fault, look elsewhere Step 1 · display cpu-usage task breakdownwhich task (FTS, SRMT, PPI, SOCK...) is consuming the CPU Step 2 · display cpu-defend statisticsCPCAR drops on arp / vrrp / bpdu -> protocol packets flooding in Step 3 · display stp tc-bpdu statisticsTC counters climbing -> TC storm or MSTP recompute is the driver Check other symptoms insteadinterface flapping, packet loss, slow response — different fault tree

Las etiquetas del diagrama se mantienen en inglés por claridad técnica.

Los dos casos de campo de esta nota comparten la misma firma en el paso 3: los contadores TC (Topology Change) subiendo en display stp tc-bpdu statistics. Eso no es coincidencia — una inundación de paquetes TC es, con diferencia, el motor único más común de una carga de CPU persistente en un switch, ya venga de puertos de borde que oscilan o de un dominio MSTP recalculando su topología.

Confírmelo, luego encuentre la tarea

display cpu-usage le dice dos cosas distintas según cómo lo lea — el número general, y el desglose por tarea debajo de él.

Paso 1 — Confirmar que la CPU está realmente anormal

Un uso de CPU superior a aproximadamente el 70%, o una alarma hwEntityExtCpuUsageNotfication (que por defecto se dispara por encima del 90%), vale la pena investigarlo — pero solo si se mantiene en el promedio de cinco minutos, no en una sola muestra.

  1. Ejecute display cpu-usage en cualquier vista. Lea el promedio de cinco minutos (columna FiveMin), no solo las cifras instantáneas o de cinco segundos — un breve pico de tarea se despeja solo y no es lo que está persiguiendo.
  2. Si aparece el estado de sobrecarga, compare el Overload threshold y el Overload clear threshold configurados — por defecto 90% y 75% — con cuánto tiempo el dispositivo realmente los ha superado (Duration).
  3. Si la CPU es genuinamente persistente, la lista de tareas bajo CPU Usage Details le dice qué tarea por CPU la está consumiendo realmente — ese es su punto de partida para el paso 2, no una suposición.
<HUAWEI> display cpu-usage
Slot: 1 CPU:0
CPU utilization statistics at 2024-09-20 15:00:20 868 ms
System CPU Using Percentage : 1%
Dataplane CPU Using Percentage : 0%
CPU utilization for five seconds: 1%, one minute: 1%, five minutes: 1%.
Max CPU Usage : 1%
Max CPU Usage Stat. Time : 2024-09-20 14:55:45 808 ms
State: Unoverload
Overload threshold: 90%, Overload clear threshold: 75%, Duration: 60s
------------------
CPU Usage Details
------------------------------------------------------------------------------
CPU      Current FiveSec OneMin FiveMin Max      MaxTime
------------------------------------------------------------------------------
cpu0        70%    56%    45%    30%    98% 2024-09-20 14:55:55
cpu1        70%    56%    45%    30%    98% 2024-09-20 14:55:55
------------------------------------------------------------------------------
// read the FiveMin column, not the instantaneous figure -- a spike that
// clears in seconds is not the fault you're chasing

Paso 2 — Verificar qué tarea, y si se están descartando paquetes de protocolo

Las entradas de registro CPU_USAGE_HIGH nombran directamente las tres tareas principales — eso suele ser más rápido que revisar manualmente la tabla de tareas de display cpu-usage.

  1. Busque en el búfer de registro las entradas CPU_USAGE_HIGH. Cada una enumera las tres tareas principales por ocupación de CPU en el momento en que se disparó — FTS, SRMT, PPI y SOCK son nombres comunes aquí, y cuál domina indica qué tipo de carga es esta.
  2. Si la CPU está alta pero el comportamiento de la red parece normal por lo demás, ejecute display cpu-defend statistics packet-type packet-type { all | slot slot-id | mcu } para el protocolo que sospeche (arp, vrrp, bpdu y similares). Un recuento alto de Drop(Packets) significa que la protección orientada a la CPU (CPCAR) está descartando paquetes porque la tasa de llegada supera su límite de tasa — la CPU se está ahogando en paquetes de ese tipo específico, no fallando por sí sola.
  3. Verifique cruzando con display stp tc-bpdu statistics. Si los contadores TC o TCN están subiendo en varios puertos, un bucle de Capa 2 o una tormenta de cambio de topología es muy probablemente la causa subyacente — vale la pena leerlo en detalle en nuestra nota sobre tormentas de bucle antes de cambiar cualquier otra cosa.
Switch %%01VOSCPU/4/CPU_USAGE_HIGH(l)[31]:The CPU is overloaded(CpuUsage=96%,
Threshold=95%), and the tasks with top three CPU occupancy are:
FTS total   : 18%
SRMT total     : 11%
SOCK total     : 8%
Switch %%01VOSCPU/4/CPU_USAGE_HIGH(l)[60]:The CPU is overloaded(CpuUsage=100%,
Threshold=95%), and the tasks with top three CPU occupancy are:
PPI total   : 41%
SRMT total     : 10%
FTS total   : 8%

<HUAWEI> display cpu-defend statistics packet-type arp all
Statistics on slot 4:
-------------------------------------------------------------------------------
Packet Type          Pass(Bytes) Drop(Bytes) Pass(Packets) Drop(Packets)
-------------------------------------------------------------------------------
arp             79880066214 2581617736    1174644777        37950869
-------------------------------------------------------------------------------
// Drop(Packets) growing -> CPU is being flooded with this packet type,
// not simply "broken" on its own

<HUAWEI> display stp tc-bpdu statistics
 -------------------------- STP TC/TCN information --------------------------
 MSTID Port                     TC(Send/Receive/Discard)    TCN(Send/Receive/Discard)
 0    10GE1/0/1                  3/2/0                0/0/0
 1    10GE1/0/3                  14/9/0                -/-/-
// TC counters climbing across ports -> loop or topology-change storm

Dos casos de campo que explican la mayoría de los tickets de CPU alta

Ambos provienen de los mismos archivos de casos de campo del fabricante, comparten la misma firma de tormenta TC, y tienen la misma solución de dos comandos.

1. Una tormenta de paquetes TC inunda el ARP y ahoga otros protocolos

SÍNTOMALa gestión de red muestra la utilización de CPU subiendo y manteniéndose alta; el búfer de registro se llena de entradas CPU_USAGE_HIGH que nombran a FTS, SRMT y PPI como los principales consumidores, junto con entradas CPCAR_DROP_MPU para arp-miss, arp-reply y arp-request superando todas su límite de tasa al mismo tiempo.

CAUSAAl revisar display stp tc-bpdu statistics se ve el recuento de paquetes TC recibidos subiendo continuamente en varios puertos. Cada paquete TC dispara una purga de la tabla MAC y un ciclo de reaprendizaje de ARP; mientras sigan llegando paquetes TC, el switch sigue reaprendiendo ARP para una tabla grande, genera él mismo un gran volumen de tráfico arp-miss y arp-request, y la inundación de arp-reply resultante de los hosts finales supera el límite de tasa del CPCAR y se descarta parcialmente — lo que envejece las entradas ARP y reinicia el ciclo. Con la CPU tan ocupada procesando este ARP churn, los paquetes Hello de OSPF y los latidos de VRRP dejan de atenderse a tiempo y esos protocolos también empiezan a fluctuar.

SOLUCIÓNConfigure stp tc-protection globalmente para que una purga de tabla activada por TC ocurra como máximo una vez cada ventana de 2 segundos en lugar de en cada paquete TC, luego configure arp topology-change disable junto con mac-address update arp enable para que un cambio de topología refresque las entradas ARP siguiendo la interfaz de salida de la tabla MAC en lugar de reaprender el ARP por completo.

<HUAWEI> display stp tc-bpdu statistics
 -------------------------- STP TC/TCN information --------------------------
 MSTID Port                     TC(Send/Receive/Discard)    TCN(Send/Receive/Discard)
 0    10GE1/0/1                  3/2/0                0/0/0
 1    10GE1/0/3                  14/9/0                -/-/-
// TC counts still rising on the next check -> a genuine TC storm, not one-off

[HUAWEI] stp tc-protection
[HUAWEI] arp topology-change disable
[HUAWEI] mac-address update arp enable

2. Un bucle MSTP recalcula constantemente la topología y fija la CPU

SÍNTOMALa utilización de CPU es alta en toda una red en anillo MSTP, y display interface brief muestra una o más interfaces funcionando muy por encima de la utilización normal de ancho de banda en una dirección.

CAUSAEn un anillo MSTP, algún evento — a menudo difícil de atribuir a una única causa raíz solo a partir del síntoma de la CPU — sigue disparando el recálculo de topología. Cada recálculo difunde una nueva ronda de BPDU de cambio de topología por el anillo, y el switch gasta ciclos de CPU recalculando el estado del árbol de expansión cada vez que llega uno, lo cual se confirma con display stp tc-bpdu statistics mostrando paquetes TC recibidos en volumen en varios puertos.

SOLUCIÓNEn lugar de perseguir primero el disparador exacto dentro del anillo MSTP, aplique los mismos dos comandos que el caso de tormenta TC — arp topology-change disable y mac-address update arp enable — para evitar que cada cambio de topología fuerce un reaprendizaje completo de ARP. En el caso de campo esto bajó el uso de CPU de inmediato; use display interface brief después para confirmar que la utilización de ancho de banda también volvió a la normalidad en los puertos afectados.

<HUAWEI> display interface brief
Interface PHY Protocol InUti OutUti inErrors outErrors
GE4/0/1    up up       0.72% 81%        0       0
GE4/0/2    up up        81% 0.73%       2       0
// one direction pinned high on a ring port -- consistent with a loop

<HUAWEI> display stp tc-bpdu statistics
 -------------------------- STP TC/TCN information --------------------------
 MSTID Port                  TC(Send/Receive)    TCN(Send/Receive)
 0    GE4/0/1               3/2            0/0
 0    GE1/0/10              14/9            0/0

[HUAWEI] arp topology-change disable
[HUAWEI] mac-address update arp enable
// CPU usage dropped immediately in the field case this is drawn from

3. El entorno no ve «ningún bucle», porque la propia CPU es el síntoma, no la causa

SÍNTOMALa CPU se mantiene alta pero display cpu-defend statistics para los protocolos obvios no muestra nada inusual, y no hay ninguna interfaz oscilando visiblemente.

CAUSAUn pico de tarea de software de corta duración no es la misma falla que una sobrecarga sostenida genuina — si la columna FiveMin en display cpu-usage no está realmente elevada, perseguir contadores de CPCAR o estadísticas de TC está buscando en el lugar completamente equivocado. Tratar cada pico momentáneo como un incidente desperdicia tiempo que debería dedicarse primero a confirmar la persistencia.

SOLUCIÓNVuelva a comprobar el promedio FiveMin en una ventana más larga antes de hacer cualquier otra cosa. Si genuinamente no es persistente, la CPU no es la falla — mire el síntoma que realmente lo trajo aquí (respuesta lenta, pérdida de paquetes, un evento de interfaz) como su propia investigación en lugar de forzarlo en el árbol de fallas de CPU alta.

4. Las tormentas de protocolo sin bucle también aparecen como descartes de CPCAR

SÍNTOMAdisplay cpu-defend statistics muestra recuentos altos de Drop(Packets) para un protocolo que no tiene nada que ver con STP o ARP — vrrp, por ejemplo — mientras los contadores TC en display stp tc-bpdu statistics se mantienen planos.

CAUSAEl CPCAR protege la CPU por tipo de protocolo, y un contador TC estable descarta los dos casos anteriores impulsados por bucles. Una inundación de VRRP o similar puede provenir de un vecino mal configurado, un ataque genuino, o un dispositivo en algún lugar del segmento que funciona mal y envía a una tasa anormal — la solución aquí es específica del protocolo, no la corrección de ARP/TC usada para los casos de bucle.

SOLUCIÓNIdentifique la interfaz de origen que genera el tráfico de protocolo marcado (display cpu-defend statistics informa por slot, lo que reduce el punto de entrada), luego investigue ese vecino o dispositivo directamente en lugar de aplicar la corrección de tormenta TC, que no ayudará con una inundación no impulsada por bucle.

Diseños de soluciones relacionadas

Cinco preguntas que surgen constantemente

Sacadas directamente del terreno — las que vale la pena tener una respuesta lista.

¿Un pico de CPU en sí mismo es alguna vez el problema, o solo cuando es sostenido?

Un breve pico de una tarea de software ordinaria que se despeja en segundos es un comportamiento normal del switch y no vale la pena perseguirlo. Lo que importa es la columna FiveMin en display cpu-usage — si el promedio de cinco minutos está persistentemente elevado, ese es el patrón consistente con un evento anormal o un volumen inusual de tráfico del plano de control, y vale la pena investigarlo con los pasos de esta nota. Trate el número instantáneo como ruido y el promedio de cinco minutos como señal.

La CPU está alta pero no veo ninguna interfaz oscilando — ¿aún podría ser un bucle?

Sí. Ambos casos de campo en esta nota muestran la CPU subiendo mucho antes de que aparezca algo tan obvio como una interfaz rebotando — la pista delatora es que los contadores de paquetes TC en display stp tc-bpdu statistics suben de forma constante, no un evento de enlace visible. Revise ese comando antes de descartar los bucles.

¿Qué hace exactamente stp tc-protection, y hay alguna desventaja en dejarlo activado permanentemente?

Limita la frecuencia con la que puede ocurrir una purga de tabla MAC/ARP activada por TC — como máximo una vez cada 2 segundos, sin importar cuántos paquetes TC lleguen en esa ventana. La contrapartida es un retraso muy pequeño en la rapidez con que la red reacciona a un cambio de topología genuino, lo cual en la práctica se ve ampliamente superado por no dejar que una tormenta TC borre repetidamente tablas que no necesita. Es práctica estándar dejarlo configurado permanentemente en lugar de solo durante un incidente.

¿Por qué un cambio de topología STP dispara siquiera un refresco de la tabla ARP?

Un cambio de topología generalmente significa que la interfaz de salida real de una dirección MAC puede haber cambiado, por lo que el comportamiento predeterminado es conservador: borrar las entradas afectadas y reaprenderlas para que el reenvío se mantenga correcto. Ese valor predeterminado es exactamente correcto para un cambio de topología genuino y puntual, y exactamente incorrecto cuando los paquetes TC llegan continuamente — por eso existe arp topology-change disable junto con mac-address update arp enable como alternativa más quirúrgica: seguir directamente el cambio de interfaz de la tabla MAC en lugar de borrar y reaprender toda la tabla ARP cada vez.

¿Qué nombres de tarea en una entrada de registro CPU_USAGE_HIGH apuntan hacia un bucle, frente a algo completamente distinto?

FTS y SRMT apareciendo juntos en la cima, junto con descartes de CPCAR en tipos de paquetes relacionados con arp y contadores TC en aumento, es la firma que muestran ambos casos de campo de esta nota. Si en cambio ve un solo protocolo no relacionado (digamos vrrp) dominando los descartes de CPCAR con contadores TC planos, eso apunta a una inundación específica de protocolo en lugar de un bucle, y la corrección de ARP/TC de aquí no será la solución — investigue directamente la interfaz de origen de ese protocolo.

Límites honestos de esta nota

Límites honestos de esta nota

Esta nota se basa en el modelo de clasificación de fallas de CPU del switch Huawei serie S y sus comandos display cpu-usage / cpu-defend statistics / stp tc-bpdu statistics, además de los casos de campo que los respaldan. Si su switch es de otro fabricante, los comandos exactos cambian, pero el orden de diagnóstico subyacente — confirmar persistencia, encontrar la tarea, verificar descartes de CPCAR, verificar contadores TC — se traslada directamente. Para un recorrido completo de la detección de bucles de Capa 2 y romper un bucle de forma segura una vez confirmado, vea nuestra nota dedicada a tormentas de bucle; esta nota cubre el lado del síntoma de CPU, no el análisis general de topología de bucles.

¿CPU fija alta y no está seguro de por qué?

Envíenos su salida de display cpu-usage más las entradas de registro CPU_USAGE_HIGH, y le ayudaremos a leer qué tarea y qué tipo de paquete lo está impulsando realmente.

WhatsApp con un ingeniero →

Lectura relacionada

Solo usamos cookies para analítica anónima — sin publicidad ni rastreo entre sitios.Política de privacidad