Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Convenzioni

Premesse

Risoluzione dei problemi comuni di utilizzo elevato della CPU

CPU elevata a causa di una tempesta di messaggi IGMP

CPU alta a causa di un tunnel GRE

CPU elevata durante una modifica della configurazione

CPU elevata a causa di richieste ARP eccessive

CPU elevata dovuta al processo IP SNMP

CPU elevata dovuta al modello SDM

CPU elevata dovuta a routing basato su criteri

CPU elevata a causa di reindirizzamenti ICMP eccessivi

Informazioni correlate

Introduzione

Questo documento descrive le cause dell'elevato utilizzo della CPU sugli switch Cisco Catalyst serie 3750. Analogamente ai router Cisco, gli switch usano il comando show PROCESSES cpu per visualizzare l'utilizzo della CPU e identificare le cause di un elevato utilizzo della CPU. Tuttavia, a causa delle differenze nell'architettura e nei meccanismi di inoltro tra i router e gli switch Cisco, l'output tipico del comando show PROCESSES cpu differisce in modo significativo. Nel documento vengono elencati anche alcuni sintomi comuni che causano un elevato utilizzo della CPU sugli switch Catalyst serie 3750.

Prerequisiti

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Per la stesura del documento, sono stati usati switch Catalyst 3750.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Convenzioni

Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.

Premesse

Prima di esaminare l'architettura di gestione dei pacchetti CPU e di risolvere i problemi relativi a un utilizzo elevato della CPU, è necessario comprendere le diverse modalità in cui gli switch di inoltro basati su hardware e i router basati su software Cisco IOS® utilizzano la CPU. L'idea sbagliata comune è che un elevato utilizzo della CPU indica l'esaurimento delle risorse su un dispositivo e la minaccia di un arresto anomalo. Un problema di capacità è uno dei sintomi di un elevato utilizzo della CPU sui router Cisco IOS. Tuttavia, un problema di capacità non è quasi mai sintomo di un elevato utilizzo della CPU con switch di inoltro basati su hardware.

Per risolvere i problemi relativi all'utilizzo elevato della CPU, controllare le note sulla versione di Cisco IOS dello switch Catalyst 3750 per individuare il possibile bug IOS noto. In questo modo è possibile eliminare il bug IOS dalle operazioni di risoluzione dei problemi. Per un elenco delle note sulla versione degli switch Catalyst 3750, fare riferimento alle note sulla versione degli switch Cisco Catalyst serie 3750.

Risoluzione dei problemi comuni di utilizzo elevato della CPU

In questa sezione vengono illustrati alcuni dei problemi più comuni di utilizzo elevato della CPU sullo switch Catalyst 3750.

CPU elevata a causa di una tempesta di messaggi IGMP

Una delle cause più comuni dell'elevato utilizzo della CPU è che la CPU Catalyst 3750 è occupata dall'elaborazione di messaggi di uscita IGMP (Internet Group Management Protocol). Se uno stack di switch Catalyst 3750 con software Cisco IOS versione 12.1(14)EA1a è collegato a un altro switch, ad esempio un Cat6500 con software CatOS, che genera query IGMP basate su MAC con opzioni IP, lo stack 3750 registra un elevato utilizzo della CPU nel processo IGMPSN (snooping). Questo è il risultato del loop dei pacchetti di query basati sull'indirizzo MAC nello stack. È inoltre possibile visualizzare un numero elevato di CPU con il processo di richiesta HRPC hl2mm. Se EtherChannel è stato configurato sullo stack Catalyst 3750 con software Cisco IOS versione 12.1(14)EA1a, potrebbe crearsi una marea di messaggi IGMP leave.

Catalyst 3750 riceve molte query IGMP. In questo modo il contatore di query IGMP inizia a incrementare di centinaia al secondo. Ciò comporta un elevato livello di CPU nello switch Catalyst 3750. Fare riferimento all'ID bug Cisco CSCeg55298 (solo utenti registrati). Il bug è stato identificato nel software Cisco IOS versione 12.1(14)EA1a ed è risolto nel software Cisco IOS versione 12.2(25)SEA e successive. La soluzione permanente consiste nell'effettuare l'aggiornamento all'ultima versione di Cisco IOS. Per ovviare temporaneamente al problema, è possibile disabilitare lo snooping IGMP sullo stack Catalyst 3750 o disabilitare le query basate su MAC sullo switch collegato allo stack 3750.

Di seguito viene riportato un esempio di output del comando show ip traffic che mostra i pacchetti IP con opzioni e avvisi errati con incremento rapido:

Switch#show ip traffic

Rcvd: 48195018 total, 25628739 local destination

0 format errors, 0 checksum errors, 10231692 bad hop count

0 unknown protocol, 9310320 not a gateway

0 security failures, 10231 bad options, 2640539 with options

Opts: 2640493 end, 206 nop, 0 basic security, 2640523 loose source route

0 timestamp, 0 extended security, 16 record route

0 stream ID, 0 strict source route, 10231 alert, 0 cipso, 0 ump

0 other

Frags: 16 reassembled, 0 timeouts, 0 couldn't reassemble

32 fragmented, 0 couldn't fragment

Bcast: 308 received, 0 sent

Mcast: 4221007 received, 4048770 sent

Sent: 25342014 generated, 20710669 forwarded

Drop: 617267 encapsulation failed, 0 unresolved, 0 no adjacency

0 no route, 0 unicast RPF, 0 forced drop

0 options denied, 0 source IP address zero

!--- Output suppressed.

Il comando show PROCESSES cpu visualizza informazioni sui processi attivi nello switch e le statistiche di utilizzo della CPU corrispondenti. Di seguito viene riportato un output di esempio del comando show PROCESSES cpu quando l'utilizzo della CPU è normale:

switch#show processes cpu

CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5%

PID  Runtime(ms)  Invoked  uSecs   5Sec  1Min     5Min  TTY   Process

1      384       32789     11  0.00%  0.00%   0.00%   0    Load Meter

2     2752        1179   2334  0.73%  1.06%   0.29%   0    Exec

3   318592        5273  60419  0.00%  0.15%   0.17%   0    Check heaps

4        4           1   4000  0.00%  0.00%   0.00%   0    Pool Manager

5     6472        6568    985  0.00%  0.00%   0.00%   0    ARP Input

6    10892        9461   1151  0.00%  0.00%   0.00%   0    IGMPSN

!--- CPU utilization at normal condition.

7    67388       53244   1265  0.16%  0.04%   0.02%   0    CDP Protocol

8   145520      166455    874  0.40%  0.29%   0.29%   0    IP Background

9     3356        1568   2140  0.08%  0.00%   0.00%   0    BOOTP Server

10       32        5469      5  0.00%  0.00%   0.00%   0    Net Background

11    42256      163623    258  0.16%  0.02%   0.00%   0    Per-Second Jobs

12   189936      163623   1160  0.00%  0.04%   0.05%   0    Net Periodic

13     3248        6351    511  0.00%  0.00%   0.00%   0    Net Input

14      168       32790      5  0.00%  0.00%   0.00%   0    Compute load avgs

15   152408        2731  55806  0.98%  0.12%   0.07%   0    Per-minute Jobs

16        0           1      0  0.00%  0.00%   0.00%   0    HRPC hI2mm reque

!--- Output suppressed.

Di seguito viene riportato un output di esempio del comando show PROCESSES cpu quando l'utilizzo della CPU è elevato a causa del processo di snooping IGMP:

switch#show processes cpu

CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5%

PID  Runtime(ms)  Invoked  uSecs   5Sec  1Min     5Min  TTY   Process

1        384       32789     11  0.00%  0.00%   0.00%   0    Load Meter

2       2752        1179   2334  0.73%  1.06%   0.29%   0    Exec

3     318592        5273  60419  0.00%  0.15%   0.17%   0    Check heaps

4          4           1   4000  0.00%  0.00%   0.00%   0    Pool Manager

5       6472        6568    985  0.00%  0.00%   0.00%   0    ARP Input

6      10892        9461   1151    100    100     100   0    IGMPSN

!--- Due to high CPU utilization.

7      67388       53244   1265  0.16%  0.04%   0.02%   0    CDP Protocol

8     145520      166455    874  0.40%  0.29%   0.29%   0    IP Background

9       3356        1568   2140  0.08%  0.00%   0.00%   0    BOOTP Server

10         32        5469      5  0.00%  0.00%   0.00%   0    Net Background

11      42256      163623    258  0.16%  0.02%   0.00%   0    Per-Second Jobs

12     189936      163623   1160  0.00%  0.04%   0.05%   0    Net Periodic

13       3248        6351    511  0.00%  0.00%   0.00%   0    Net Input

14        168       32790      5  0.00%  0.00%   0.00%   0    Compute load avgs

15     152408        2731  55806  0.98%  0.12%   0.07%   0    Per-minute Jobs

16          0        2874      0    100    100     100   0    HRPC hI2mm reque

!--- Output suppressed.

CPU alta a causa di un tunnel GRE

Il tunnel GRE (General Routing Encapsulation) non è supportato dagli switch Cisco Catalyst serie 3750. Anche se questa funzione può essere configurata con la CLI, i pacchetti non possono essere commutati né dall'hardware né dal software, aumentando così l'utilizzo della CPU.

Nota: solo le interfacce tunnel DVMRP (Distance Vector Multicast Routing Protocol) sono supportate per il routing multicast in Catalyst 3750. Anche per questo, i pacchetti non possono essere commutati con l'hardware. I pacchetti indirizzati attraverso questo tunnel devono essere commutati tramite software. Il maggior numero di pacchetti inoltrati tramite questo tunnel aumenta l'utilizzo della CPU.

Non sono disponibili soluzioni alternative per questo problema. Si tratta di un limite hardware degli switch Catalyst serie 3750.

CPU elevata durante una modifica della configurazione

Se gli switch Catalyst 3750 sono connessi a uno stack e sono state apportate modifiche alla configurazione, il processo di configurazione dello switch in esecuzione si riattiva e genera una nuova copia della configurazione in esecuzione. Quindi, invia i dati a tutti gli switch dello stack. La nuova configurazione in esecuzione richiede un utilizzo intensivo della CPU. Pertanto, l'utilizzo della CPU è elevato quando si crea un nuovo processo di configurazione in esecuzione e si inoltrano le nuove configurazioni ad altri switch. Tuttavia, questo elevato utilizzo della CPU deve esistere solo per lo stesso tempo necessario per eseguire il passaggio di configurazione della generazione del comando show running-configuration.

Non è necessaria una soluzione per questo problema. In queste situazioni l'utilizzo della CPU è in genere elevato.

Di seguito viene riportato un output di esempio del comando show PROCESSES cpu quando l'utilizzo della CPU è elevato a causa del processo in esecuzione dell'hulc:

switch#show processes cpu

CPU utilization for five seconds: 63%/0%; one minute: 27%; five minutes: 23%

PID Runtime(ms) Invoked   uSecs   5Sec   1Min   5Min   TTY   Process

1      384      32789      11  0.00%  0.00%   0.00%   0    Load Meter

2     2752       1179    2334  0.73%  1.06%   0.29%   0    Exec

3   318592       5273   60419  0.00%  0.15%   0.17%   0    Check heaps

4        4          1    4000  0.00%  0.00%   0.00%   0    Pool Manager

5     6472       6568     985  0.00%  0.00%   0.00%   0    ARP Input

6    10892       9461    1151  0.00%  0.00%   0.00%   0    IGMPSN

7    67388      53244    1265  0.16%  0.04%   0.02%   0    CDP Protocol

8   145520     166455     874  0.40%  0.29%   0.29%   0    IP Background

9     3356       1568    2140  0.08%  0.00%   0.00%   0    BOOTP Server

10       32       5469       5  0.00%  0.00%   0.00%   0    Net Background

11    42256     163623     258  0.16%  0.02%   0.00%   0    Per-Second Jobs

12   189936     163623    1160  0.00%  0.04%   0.05%   0    Net Periodic

13     3248       6351     511  0.00%  0.00%   0.00%   0    Net Input

14      168      32790       5  0.00%  0.00%   0.00%   0    Compute load avgs

15   152408       2731   55806  0.98%  0.12%   0.07%   0    Per-minute Jobs

16        0          1       0  0.00%  0.00%   0.00%   0    HRPC h12mm reque

17    85964        426  201793 55.72% 12.05%   5.36%   0    hulc running

!--- Output suppressed.

CPU elevata a causa di richieste ARP eccessive

Se il router deve generare un numero eccessivo di richieste ARP, si verifica un utilizzo elevato della CPU del processo di input Address Resolution Protocol (ARP). Le richieste ARP per lo stesso indirizzo IP sono limitate alla velocità di una richiesta ogni due secondi. È stato pertanto necessario creare un numero eccessivo di richieste ARP per indirizzi IP diversi. Questa situazione può verificarsi se è stato configurato un percorso IP che punta a un'interfaccia di trasmissione. Un esempio ovvio è rappresentato da una route predefinita, ad esempio:

ip route 0.0.0.0 0.0.0.0 Fastethernet0/0

In questo caso, il router genera una richiesta ARP per ciascun indirizzo IP che non è raggiungibile tramite percorsi più specifici, ossia genera una richiesta ARP per quasi tutti gli indirizzi su Internet. Per ulteriori informazioni su come configurare l'indirizzo IP dell'hop successivo per il routing statico, consultare il documento sulla specifica dell'indirizzo IP dell'hop successivo per le route statiche.

In alternativa, una quantità eccessiva di richieste ARP può essere causata da un flusso di traffico dannoso che esegue la scansione nelle subnet collegate localmente. Un'indicazione di tale flusso è la presenza di un numero molto elevato di voci ARP incomplete nella tabella ARP. Poiché i pacchetti IP in ingresso che attivano le richieste ARP devono essere elaborati, la risoluzione di questo problema è essenzialmente la stessa di quella dei problemi di elevato utilizzo della CPU nel processo di input IP.

CPU elevata dovuta al processo IP SNMP

Nelle ultime versioni di Cisco IOS per Catalyst 3750, le richieste SNMP (Simple Network Management Protocol) vengono gestite da SNMP ENGINE. È normale che la CPU passi in alto a causa di questo processo del motore SNMP. Il processo SNMP ha una bassa priorità e non deve influire su alcuna funzionalità dello switch.

Per ulteriori informazioni sull'elevato utilizzo della CPU causato dal processo SNMP ENGINE, fare riferimento a IP Simple Network Management Protocol (SNMP) Cause High CPU Utilization (Utilizzo elevato della CPU).

CPU elevata dovuta al modello SDM

Sugli switch Catalyst serie 3750, lo switch Database Management (SDM) gestisce le informazioni di switching di layer 2 e layer 3 conservate nella Ternary Content Addressable Memory (TCAM). I modelli SDM vengono usati per configurare le risorse di sistema nello switch in modo da ottimizzare il supporto di funzionalità specifiche, a seconda di come lo switch viene usato sulla rete. È possibile selezionare i modelli SDM per ottimizzare l'utilizzo del sistema per alcune funzioni o per utilizzare il modello predefinito per bilanciare le risorse. I modelli assegnano priorità alle risorse di sistema al fine di ottimizzare il supporto per questi tipi di funzionalità:

- Routing: il modello di routing massimizza le risorse di sistema per il routing unicast, in genere richiesto per un router o un aggregatore al centro di una rete.

- VLAN: il modello VLAN disabilita il routing e supporta il numero massimo di indirizzi MAC unicast. Questa opzione è in genere selezionata per uno switch di layer 2.

- Accesso: il modello di accesso consente di ottimizzare le risorse di sistema per gli elenchi di controllo di accesso (ACL, Access Control List) in modo da contenere un numero elevato di ACL.

- Default - La maschera di default consente di bilanciare tutte le funzioni.

Ogni modello è disponibile in due versioni: un modello desktop e un modello aggregator.

Nota: il modello predefinito per gli switch per desktop è il modello predefinito per i desktop. Il modello predefinito per Catalyst 3750-12S è il modello dell'aggregatore predefinito.

Selezionare un modello SDM appropriato che fornisca l'utilizzo massimo del sistema per la funzionalità utilizzata. Un modello SDM non appropriato può sovraccaricare la CPU e ridurre notevolmente le prestazioni dello switch.

Utilizzare il comando show platform tcam usage per verificare il livello di utilizzo di TCAM e la quantità disponibile.

Switch#show platform tcam utilization

CAM Utilization for ASIC# 0                      Max            Used

Masks/Values    Masks/values

Unicast mac addresses:                        784/6272         12/26

IPv4 IGMP groups + multicast routes:          144/1152          6/26

IPv4 unicast directly-connected routes:       784/6272         12/26

IPv4 unicast indirectly-connected routes:     272/2176          8/44

IPv4 policy based routing aces:                 0/0             0/0

IPv4 qos aces:                                528/528          18/18

IPv4 security aces:                          1024/1024         27/27

Note: Allocation of TCAM entries per feature uses

a complex algorithm. The above information is meant

to provide an abstract view of the current TCAM utilization

Se l'utilizzo TCAM per uno qualsiasi dei parametri è vicino al massimo, verificate se le altre feature di maschera possono essere ottimizzate per tale parametro.

show sdm prefer access | default | dual-ipv4-and-ipv6 | routing | vlan

Switch# show sdm prefer routing

"desktop routing" template:

The selected template optimizes the resources in

the switch to support this level of features for

8 routed interfaces and 1024 VLANs.

number of unicast mac addresses:             3K

number of igmp groups + multicast routes:    1K

number of unicast routes:                    11K

number of directly connected hosts:        3K

number of indirect routes:                 8K

number of policy based routing aces:         512

number of qos aces:                          512

number of security aces:                     1K

Per specificare il modello SDM da utilizzare sullo switch, usare il comando sdm preferisci configurazione globale.

Nota: per utilizzare il nuovo modello SDM, è necessario ricaricare lo switch.

CPU elevata dovuta a routing basato su criteri

L'implementazione del Policy Based Routing (PBR) sugli switch Cisco Catalyst 3750 ha alcune limitazioni. Se queste restrizioni non vengono rispettate, l'utilizzo della CPU potrebbe essere elevato.

- È possibile abilitare PBR su una porta instradata o una SVI.

- Lo switch non supporta istruzioni di negazione route-map per PBR.

- Il traffico multicast non è indirizzato a criteri. Il PBR si applica solo al traffico unicast.

- Non corrispondono agli ACL che permettono pacchetti destinati a un indirizzo locale. Il PBR inoltra questi pacchetti e può causare errori ping o Telnet o flapping del protocollo di routing.

- Non corrisponde agli ACL con ACE di negazione. I pacchetti che corrispondono a una voce ACE di negazione vengono inviati alla CPU, il che può causare un elevato utilizzo della CPU.

- Per utilizzare il PBR, occorre prima abilitare il modello di routing con il comando sdm preferisci routing in modalità di configurazione globale. il PBR non è supportato con la VLAN o il modello predefinito.

Per un elenco completo, fare riferimento alle linee guida per la configurazione di PBR.

CPU elevata a causa di reindirizzamenti ICMP eccessivi

È possibile ottenere reindirizzamenti ICMP ignorati quando una VLAN (o una porta di livello 3) riceve un pacchetto in cui l'IP di origine si trova su una subnet, l'IP di destinazione su un'altra subnet e l'hop successivo si trova sulla stessa VLAN o segmento di livello 3.

Di seguito è riportato un esempio:

È possibile visualizzare questo messaggio in show log:

51w2d: ICMP-Q:Dropped redirect disabled on L3 IF: Local Port Fwding

L3If:Vlan7 L2If:GigabitEthernet2/0/13 DI:0xB4, LT:7, Vlan:7

SrcGPN:65, SrcGID:65, ACLLogIdx:0x0, MacDA:001a.a279.61c1,

MacSA: 0002.5547.3bf0  IP_SA:64.253.128.3 IP_DA:208.118.132.9 IP_Proto:47

TPFFD:EDC10041_02C602C6_00B0056A-000000B4_EBF6001B_0D8A3746

Questo si verifica quando il pacchetto viene ricevuto sulla VLAN 7 con IP di origine 64.253.128.3 e cerca di raggiungere 208.118.132.9, l'IP di destinazione. Come si può vedere, l'hop successivo configurato nello switch (in questo caso 64.253.128.41) è anche sulla stessa VLAN 7.

Informazioni correlate

- Rilevamento delle incoerenze EtherChannel

- Il multicast non funziona sulla stessa VLAN sugli switch Catalyst

- Utilizzo della CPU sugli switch Catalyst 4500/4000, 2948G, 2980G e 4912G con CatOS

- Utilizzo elevato della CPU dello switch Catalyst 6500/6000

- Pagine di supporto dei prodotti LAN

- Pagina di supporto dello switching LAN

- Documentazione e supporto tecnico – Cisco Systems