2 Abril 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (20 Março 2008) | Feedback


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes Usados
     Convenções
Informações Complementares
Noções Básicas da Arquitetura de Tratamento de Pacotes da CPU do Catalyst 4500
Identificação do Motivo da Utilização Intensa da CPU no Catalyst 4500
     Uso de Referência da CPU
     Noções básicas do Comando show processes cpu nos Switches Catalyst 4500
     Noções Básicas do Comando show platform health nos Switches Catalyst 4500
Solução de Problemas Comuns de Alto Nível de Utilização da CPU
     Alto Nível de Utilização da CPU Devido aos Pacotes Comutados por Processo
     Outras Causas do Alto Nível de Utilização da CPU
Ferramentas de Solução de Problemas para Análise do Tráfego Destinado à CPU
     Ferramenta 1: Monitoramento do Tráfego da CPU com SPAN - Cisco IOS Software Release 12.1(19)EW e Posterior
     Ferramenta 2: Sniffer Integrado da CPU – Cisco IOS Software Release 12.2(20)EW e Posterior
     Ferramenta 3: Identifique a Interface que Envia o Tráfego para a CPU – Cisco IOS Software Release 12.2(20)EW e Posterior
Resumo
Discussões relacionadas da comunidade de suporte da Cisco
Informações Relacionadas

Introdução

Os Catalyst 4500 Series Switches, inclusive os Catalyst 4948, possuem uma metodologia de tratamento de pacotes sofisticada para o tráfego no âmbito da CPU. Um problema comumente observado é a intensa utilização da CPU em tais switches. Este documento apresenta detalhes sobre a arquitetura de tratamento de pacotes da CPU e indica como identificar as causas do alto nível de utilização em tais switches. Lista também alguns cenários comuns de rede ou de configuração que provocam a elevação da utilização da CPU no Catalyst da Série 4500.

Observação: Se estiver executando Catalyst 4500/4000 Series Switches com base no Catalyst OS (CatOS), consulte o documento Utilização da CPU em Switches Catalyst 4500/4000, 2948G, 2980G e 4912G que Executam o Software CatOS.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Usados

As informações neste documento são baseadas nestas versões de hardware e software:

Observação: Este documento se aplica apenas a switches baseados no Cisco IOS® Software e não para os baseados no CatOS.

As informações apresentadas neste documento foram criadas a partir dos dispositivos em um ambiente de laboratório específico. Todos os dispositivos usados neste documento foram iniciados com uma configuração vazia (padrão). Se a sua rede estiver ativa, procure conhecer o impacto potencial de todos os comandos.

Convenções

Consulte Convenções de Dicas Técnicas da Cisco para obter mais informações sobre as convenções de documentos.

Informações Complementares

Antes de examinar a arquitetura de tratamento de pacotes da CPU e a solução de problemas de utilização desta, conheça os diferentes modos pelos quais os switches físicos de encaminhamento baseado em hardware e roteadores baseados no Software Cisco IOS® utilizam a CPU. Um erro comum é pensar que a utilização intensa da CPU indica o esgotamento dos recursos de um dispositivo e a ameaça de travamento. Problema da capacidade é um dos sintomas da utilização intensa da CPU nos routers Cisco IOS. Contudo, dificilmente tal problema seria sintoma de utilização intensa da CPU com switches de encaminhamento baseados em hardware como Catalyst 4500. O Catalyst 4500 foi projetado para encaminhar pacotes no ASIC (Circuito Integrado de Aplicação Específica) e atinge velocidades de encaminhamento de tráfego de até 102 milhões de pacotes por segundos (Mpps).

A CPU do Catalyst 4500 executa estas funções:

De acordo com a lista, a utilização intensa pode decorrer do recebimento ou processamento de pacotes pela CPU. Alguns pacotes enviados para processamento podem ser essenciais para a operação da rede. Um exemplo de tais pacotes essenciais são as unidades de dados do protocolo de bridge (BPDUs) das configurações de topologia de árvore de abrangência. Contudo, outros pacotes podem ser de tráfego de dados encaminhado por software. Estes cenários exigem que os ASICs de comutação enviem pacotes a CPU para serem processados:

Noções Básicas da Arquitetura de Tratamento de Pacotes da CPU do Catalyst 4500

O Catalyst 4500 tem um mecanismo interno de Quality of Service (QoS) que se destina a diferenciar os tipos de tráfegos encaminhados à CPU. Tal diferenciação baseia-se nas informações do pacote Camada 2 (L2)/Camada 3 (L3)/ Camada 4 (L4). O Supervisor Packet Engine tem 16 filas para processar diversos tipos de pacotes ou eventos. A Figura 1 ilustra essas filas. A Tabela 1 lista as filas e os tipos de pacotes em cada uma delas. As 16 filas permitem que o Catalyst 4500 coloque pacotes em fila com base no tipo ou prioridade do pacote.

Figura 1 – O Catalyst 4500 Usa Várias Filas da CPU

cat4500_high_cpu-1.gif

Tabela 1 – Descrição das Filas do Catalyst 4500

Número da Fila

Nome da Fila

Pacotes na Fila

0

Esmp

Pacotes ESMP1 (pacotes de gerenciamento interno) para ASICs da placa de linha ou outro gerenciamento de componente

1

Controle

Pacotes planos de controle na L2, como STP, CDP, PAgP, LACP2 ou UDLD3

2

Host Learning

Quadros com endereços MAC de origem desconhecidos são copiados para a CPU para a construção da tabela de encaminhamento na L2

3, 4, 5

L3 Fwd Highest, L3 Fwd High/Medium, L3 Fwd Low

Pacotes que devem ser encaminhados no software, como os túneis GRE4

Se o endereço IP de destino do ARP5 não for resolvido, os pacotes serão enviados para essa fila.

6, 7, 8

L2 Fwd Highest, L2 Fwd High/Medium, L2 Fwd Low

Os pacotes são encaminhados como resultado de uma conexão em bridge.

  • Protocolos não suportados no hardware, como os roteados pelo IPX e AppleTalk, são conectados em bridge com a CPU

  • Solicitação e resposta do ARP

  • Pacotes com endereço MAC de destino de uma interface SVI6/L3 do switch serão conectados em bridge, caso não sejam roteados no hardware, por um dos seguintes motivos:

    • Opções do cabeçalho de IP

    • TLL7 expirado

    • Encapsulamento não-ARPA

9, 10

L3 Rx High, L3 Rx Low

Tráfego plano de controle na L3, por exemplo, protocolos de roteamento, destinados para os endereços IP da CPU

Os exemplos incluem Telnet, SNMP e SSH8.

11

RPF Failure

Pacotes de transmissão múltipla que não passaram pela verificação de RPF9

12

ACL fwd(snooping)

Pacotes processados pelos recursos de espionagem de DHCP10, inspeção dinâmica de ARP ou espionagem de IGMP11

13

ACL log, unreach

Pacotes que encontram um ACE12 com a palavra-chave log ou pacotes descartados porque foram bloqueados por uma ACL de saída ou pela falta de uma rota para o destino.

Tais pacotes exigem a geração de mensagens inalcançáveis ICMP.

14

ACL sw processing

Pacotes lançados para a CPU devido à falta de recursos de hardware adicionais da ACL, como TCAM13, para ACL de segurança

15

MTU Fail/Invalid

Pacotes que precisam ser fragmentados porque o tamanho da MTU da interface de saída é menor que o tamanho do pacote

1 ESMP = Even Simple Management Protocol.

2 LACP = Link Aggregation Control Protocol.

3 UDLD = UniDirectional Link Detection.

4 GRE = generic routing encapsulation.

5 ARP = Address Resolution Protocol.

6 SVI = interface virtual comutada.

7 TTL = Duração.

8 SSH = Secure Shell Protocol.

9 RPF = Reverse Path Forwarding

10 DHCP = Dynamic Host Configuration Protocol.

11 IGMP = Internet Group Management Protocol.

12 ACE = access control entry.

13 TCAM = ternary content addressable memory.

Estas são filas separadas:

Os pacotes são colocados nessas filas com base nos rótulo de QoS, que é o valor DSCP (Differentiated Services Code Point) do ToS (Type of Service) do IP. Por exemplo, pacotes com o DSCP 63 são colocados na fila L3 Fwd Highest . A saída do comando show platform cpu packet statistics all mostra os pacotes recebidos e descartados nessas 16 filas. Essa saída é muito longa. Emita o comando show platform cpu packet statistics para mostrar apenas eventos não zerados. Como alternativa, há show platform cpuport. Use o comando show platform cpuport apenas se executar o Cisco IOS Software Release 12.1(11)EW ou anterior. Esse comando foi substituído nas versões posteriores. Contudo, o comando mais antigo era parte do comando show tech-support nas versões do Cisco IOS Software anteriores ao Cisco IOS Software Release 12.2(20)EWA.

Use o comando show platform cpu packet statistics em toda solução de problemas.

Switch#show platform cpu packet statistics all
            
               !--- Saída suprimida.
            
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

A CPU do Catalyst 4500 atribui prioridades diferentes às filas listadas na Tabela 1. A atribuição dos pesos leva em conta a importância ou tipo, e a prioridade do tráfego ou DSCP. A CPU leva em conta os pesos relativos ao atender à fila. Por exemplo, caso um pacote de controle, como BPDU, e uma requisição de eco do ICMP estejam pendentes ao mesmo tempo, a CPU processará primeiro o pacote de controle. Uma quantidade excessiva de tráfego de baixa prioridade ou pouca importância não diminui a capacidade da CPU de processar ou gerenciar o sistema. Esse mecanismo garante que a rede ficará estável, inclusive com a utilização intensa da CPU. A capacidade da rede de permanecer estável é a informação crucial que merece ser compreendida.

Há outro detalhe de implementação do tratamento de pacotes pela CPU do Catalyst 4500 que é muito importante. Se a CPU já tiver processado os pacotes ou processos de alta prioridade e ainda houver ciclos disponíveis na CPU por um determinado período de tempo, a CPU processará os pacotes de baixa prioridade da fila ou executará os processos de baixa prioridade em segundo plano. O alto nível de utilização da CPU decorrente do processamento de pacotes de baixa prioridade ou processos em segundo plano é considerado normal porque a CPU constantemente tenta utilizar todo o tempo disponível. Assim, a CPU procura tirar o máximo desempenho do switch e da rede, sem comprometer a estabilidade do switch. O Catalyst 4500 considera a CPU subutilizada, exceto quando ela está com 100% de uso em um único intervalo de tempo.

O Cisco IOS Software Release 12.2(25)EWA2 e posteriores aprimorou a contabilidade e o mecanismo de processamento de pacotes e processos da CPU. Assim, utilize essas versões nas suas implementações do Catalyst 4500.

Identificação do Motivo da Utilização Intensa da CPU no Catalyst 4500

Depois de conhecer o design e a arquitetura de tratamento de pacotes da CPU do Catalyst 4500, talvez ainda queira identificar o motivo da utilização intensa da CPU. O Catalyst 4500 possui os comandos e ferramentas necessários para identificar a causa raiz de tal utilização elevada. Depois de identificar o motivo, os administradores podem executar estas ações:

Identifique o motivo do alto nível de utilização da CPU, mesmo que nenhuma ação corretiva seja necessária em todos os casos. O alto nível de utilização da CPU pode ser sintoma, apenas, de um problema na rede. Pode ser necessária a solução da causa raiz do problema, para diminuir a utilização da CPU.

A Figura 2 mostra a metodologia de solução de problemas a ser utilizada para identificar a causa raiz do alto nível de utilização da CPU do Catalyst 4500.

Figura 2 – Metodologia de Solução de Problemas de Utilização Intensa da CPU nos Catalyst 4500 Switches

cat4500_high_cpu-2.gif

Estas são as etapas gerais de solução de problemas:

  1. Emita o comando show processes cpu para identificar os processos do Cisco IOS que consomem os ciclos da CPU.

  2. Emita o comando show platform health para identificar mais processos específicos da plataforma.

  3. Se o processo muito ativo for o K2CpuMan Review , emita o comando show platform cpu packet statistics para identificar o tipo de tráfego que chega à CPU.

    Se a atividade não for causada pelo processo K2CpuMan Review , ignore a Etapa 4 e vá para a 5.

  4. Identifique os pacotes que chegam à CPU com as Ferramentas de Solução de Problemas para Análise do Tráfego Destinado à CPU, se necessário.

    Um exemplo de ferramenta de solução de problemas que pode ser utilizada é o Analisador de Portas Comutadas (SPAN) de CPU.

  5. Examine este documento e a seção Solucionar Problemas Comuns do Alto Nível de Utilização do CPU, para conhecer as causas comuns.

    Se, mesmo assim, não for possível identificar a causa raiz, entre em contato com o Suporte Técnico da Cisco.

Uso de Referência da CPU

A primeira etapa importante é conhecer a utilização da CPU do switch no que se refere às suas definições e à configuração da rede. Use o comando show processes cpu para identificar a utilização da CPU no Catalyst 4500 Switch. A atualização contínua da utilização de referência da CPU pode ser necessária à medida que você incluir mais detalhes na configuração da rede ou à medida que o padrão do tráfego da rede mudar. A Figura 2 indica essa necessidade.

Essa saída é de um Catalyst 4507R com carga total. O estado estável da CPU é cerca de 32 a 38%; isso é necessário para executar as funções de gerenciamento do switch:

Switch#show processes cpu
            Utilização da CPU por cinco segundos: 38%/1%; um 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

               !--- Saída suprimida.
            
  27         524    250268          2  0.00%  0.00%  0.00%   0 TTY Background
  28         816    254843          3  0.00%  0.00%  0.00%   0 Per-Second Jobs
  29      101100      5053      20007  0.00%  0.01%  0.00%   0 Per-minute Jobs
  30    26057260  26720902        975 12.07% 11.41% 11.36%   0 Cat4k Mgmt HiPri
  31    19482908  29413060        662 24.07% 19.32% 19.20%   0 Cat4k Mgmt LoPri 
  32        4468    162748         27  0.00%  0.00%  0.00%   0 Galios Reschedul
  33           0         1          0  0.00%  0.00%  0.00%   0 IOS ACL Helper
  34           0         2          0  0.00%  0.00%  0.00%   0 NAM Manager

A utilização da CPU por cinco segundos é expressa como:

            x%/y%

x% representa o uso total da CPU e y% os recursos da CPU gastos no nível de interrupção. Ao resolver problemas dos switches Catalyst 4500, concentre-se apenas na utilização total da CPU.

Noções básicas do Comando show processes cpu nos Switches Catalyst 4500

A saída do comando show processes cpu mostra que há dois processos que utilizam a CPU - Cat4k Mgmt HiPri e Cat4k Mgmt LoPri . Esses dois processos agregam vários processos específicos da plataforma que executam as funções essenciais de gerenciamento no Catalyst 4500. Esses processos processam o plano de controle e os pacotes de dados que precisam ser comutados ou processados pelo software.

Para ver quais processos específicos da plataforma utilizam a CPU no contexto de Cat4k Mgmt HiPri e Cat4k Mgmt LoPri , emita o comando show platform health.

Cada um dos processos específicos da plataforma tem uma utilização de CPU alvo/esperada. Quando o processo está dentro do objetivo, a CPU o executa no contexto de alta prioridade. A saída do comando show processes cpu registra essa utilização sob o Cat4k Mgmt HiPri .  Se um processo exceder a utilização alvo/esperada, esse processo executará sob o contexto de baixa prioridade. A saída do comando show processes cpu registra essa utilização adicional sob o Cat4k Mgmt LoPri . O Cat4k Mgmt LoPri também é utilizado para execução em segundo plano e de outros processos em baixa prioridade, como verificação de consistência e leitura dos contadores da interface. Esse mecanismo permite que a CPU execute processos de alta prioridade, quando necessário, e os ciclos ociosos da CPU remanescentes são utilizados para os processos de baixa prioridade. Ultrapassar a meta de utilização da CPU em um valor pequeno ou um pico momentâneo no uso não indicam um problema que mereça ser investigado.

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

Noções Básicas do Comando show platform health nos Switches Catalyst 4500

O comando show platform health fornece um monte de informações que importam apenas para um engenheiro de desenvolvimento. Para solucionar problemas de utilização intensa da CPU, procure por um número maior na coluna %CPU actual na saída. Observe, no lado direito da linha, quanto o processo utiliza dos recursos da CPU nas colunas average %CPU em um minuto e em uma hora. Algumas vezes, processa picos momentâneos, mas não mantém a CPU por um longo tempo. Parte da elevação momentânea da utilização da CPU ocorre durante a programação de hardware ou a otimização da programação. Por exemplo, um pico de utilização da CPU é normal durante a programação do hardware de uma ACL de grande porte no TCAM.

Na saída do comando show platform health, na seção Noções Básicas do Comando show processes cpu nos Switches Catalyst 4500, os processos Stub-JobEventSchedul e K2CpuMan Review utilizam um número maior de ciclos da CPU. A Tabela 2 apresenta algumas informações básicas sobre os processos comuns específicos da plataforma que aparecem na saída do comando show platform health.

Tabela 2 – Descrição dos Processos Específicos da Plataforma do Comando show platform health

Nome do Processo Específico da Plataforma

Descrição

Pim-review

Gerenciamento de estado de placa de linha/chassi

Ebm

Módulo de Bridge Ethernet, como tempo de vida e monitoramento

Acl-Flattener / K2AclMan

Processo de fusão de ACL

KxAclPathMan - Path

TagMan-Review

Manutenção e gerenciamento do estado da ACL

K2CpuMan Review

O processo que executa o encaminhamento de pacotes de software.

Caso ocorra um alto nível de utilização da CPU devido a esse processo, investigue os pacotes que chegam à CPU, com o comando show platform cpu packet statistics.

K2AccelPacketMan

O driver que interage com o mecanismo de pacote para enviar os pacotes destinados pela CPU

K2AclCamMan

Gerencia o hardware TCAM de entrada e saída no que tange aos recursos de segurança e QoS.

K2AclPolicerTableMan  

Gerencia os vigilantes de entrada e de saída

K2L2

Representa o subsistema de encaminhamento na L2 do Cisco IOS Software do Catalyst 4500

Esses processos são responsáveis pela manutenção de várias tabelas na L2.

K2PortMan Review

Gerencia as diversas funções de programação relacionadas à porta

K2Fib

Gerenciamento de FIB1

K2FibFlowCache

Gerenciamento de cache de PBR2

K2FibAdjMan

Gerenciamento de tabela de adjacência da FIB

K2FibMulticast

Gerencia entradas da FIB de transmissão múltipla

K2MetStatsMan Review

Gerencia as estatísticas do MET3

K2QosDblMan Review

Gerencia o QoS DBL4

IrmFibThrottler Thro

Módulo de roteamento de IP

K2 L2 Aging Table Re 

Gerencia a função tempo de vida na L2

GalChassisVp-review

Monitoramento de estado de chassi

S2w-JobEventSchedule 

Gerencia os protocolos S2W5 para monitorar o estado das placas de linha

Stub-JobEventSchedul 

Monitoramento e gerenciamento de placa de linha baseados na ASIC de Stub

RkiosPortMan Port Re

Manutenção e monitoramento de estado de porta

Rkios Module State R

Monitoramento e manutenção de placa de linha

EthHoleLinecardMan

Gerencia os GBICs6 em cada uma das placas de linha

1 FIB = Forwarding Information Base.

2 PBR = policy-based routing.

3 MET = Multicast Expansion Table.

4 DBL = Dynamic Buffer Limiting.

5 S2W = serial-to-wire.

6 GBIC = Gigabit Interface Converter.

Solução de Problemas Comuns de Alto Nível de Utilização da CPU

Esta seção descreve alguns dos problemas comuns de alto nível de utilização da CPU nos switches Catalyst 4500.

Alto Nível de Utilização da CPU Devido aos Pacotes Comutados por Processo

Um dos motivos comuns de utilização intensa da CPU é que a CPU do Catalyst 4500 está ocupada com o processamento dos pacotes encaminhados pelo software ou dos pacotes de controle. Por exemplo, os pacotes encaminhados por software, como o IPX, ou pacotes de controle como os BPDUs. Um número pequeno de tais pacotes são normalmente enviados para a CPU. Contudo, um número consistentemente grande de pacotes pode indicar um erro de configuração ou um evento de rede. Identifique a causa dos eventos que levam ao encaminhamento de pacotes à CPU para processamento. Essa identificação permite que você depure problemas de alto nível de utilização da CPU.

Estes são alguns dos motivos comuns da utilização intensa da CPU devido aos pacotes comutados por processo:

Outros motivos para a comutação de pacotes para a CPU são:

Um Alto Número de Instâncias de Portas de Árvore de Abrangência

O Catalyst 4500 suporta 3.000 instâncias de portas da árvore de abrangência ou portas ativas no modo Per VLAN Spanning Tree+ (PVST+). O suporte está em todos os Supervisor Engines, exceto nos Supervisor Engine II+, II+TS e Catalyst 4948. Estes suportam até 1.500 instâncias de portas. Se você exceder essas recomendações para instâncias de STP, o switch exibirá um alto nível de utilização da CPU.

cat4500_high_cpu-3.gif

Este diagrama mostra um Catalyst 4500 com três portas de tronco, cada qual transportando VLANs de 1 a 100. Isso equivale a 300 instâncias de portas de árvore de abrangência. Normalmente, você pode calcular as instâncias de portas da árvore de abrangência com esta fórmula:

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

No diagrama, não há nenhuma porta de acesso, mas os três troncos transportam VLANs de 1 a 100:

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

Etapa 1: Procurar pelo processo do Cisco IOS, com o comando show processes cpu

Esta seção examina os comandos que um administrador utiliza para reduzir o problema de utilização intensa da CPU. Se emitir o comando show processes cpu, a saída mostrará que há dois processos principais que se destacam na utilização da CPU, Cat4k Mgmt LoPri e Spanning Tree . Com essas informações apenas, você sabe que o processo da árvore de abrangência consome uma parte considerável dos ciclos da 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

               !---  Saída suprimida.
            
  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

               !--- Saída suprimida.
            
  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

Etapa 2: Procurar pelo processo específico do Catalyst 4500, com o comando show platform health

Para descobrir qual processo específico da plataforma está consumindo os recursos da CPU, emita o comando show platform health. A saída do comando mostra que o processo K2CpuMan Review , uma tarefa de processamento de pacotes no âmbito da CPU, está esgotando os seus recursos:

Switch#show platform health
%CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU

               !--- Saída suprimida.
            
TagMan-RecreateMtegR   1.00   0.00     10      0  100  500    0   0    0  0:00
K2CpuMan Review       30.00  37.62     30     53  100  500   41  33    1  2:12
K2AccelPacketMan: Tx  10.00   4.95     20      0  100  500    5   4    0  0:36
K2AccelPacketMan: Au   0.10   0.00      0      0  100  500    0   0    0  0:00
K2AclMan-taggedFlatA   1.00   0.00     10      0  100  500    0   0    0  0:00

Etapa 3: Verificar a fila da CPU que recebe o tráfego para identificar o tipo de tráfego no âmbito da CPU

Emita o comando show platform cpu packet statistics para ver qual fila da CPU recebe o pacote no âmbito da CPU. A saída nesta seção mostra que a fila de controle recebe muitos pacotes. Use as informações na Tabela 1 e a conclusão que você chegou na Etapa 1. Você pode determinar que os pacotes processados pela CPU e o motivo da utilização intensa da CPU é o processamento da BPDU.

Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Etapa 4: Identificar a causa raiz

Emita o comando show spanning-tree summary. Você pode verificar se a recepção das BPDUs decorre do grande número de instâncias de portas da árvore de abrangência. A saída identifica de modo claro a causa raiz:

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

               !--- Saída suprimida. 
            
Name                   Blocking Listening Learning Forwarding STP Active
---------------------- -------- --------- -------- ---------- ----------
2994 vlans                   0         0        0       5999       5999
         

Há um grande número de VLANs com a configuração do modo PVST+. Para resolver o problema, altere o modo do STP para Árvore de abrangência múltipla (MST). Em alguns casos, o número de instâncias do STP é alto devido ao alto número de VLANs encaminhadas em todas as portas de tronco. Nesse caso, remova manualmente as VLANs desnecessárias do tronco para reduzir o número de portas ativas do STP a um valor bem abaixo do recomendado.

Dica: Nunca configure portas de telefone de IP como portas de tronco. Esse é um erro de configuração comum. Configure as portas de telefone de IP com uma configuração de VLAN de voz. Essa configuração cria um pseudotronco, mas não exige a remoção manual das VLANs desnecessárias. Para obter mais informações sobre como configurar portas de voz, consulte o guia de configuração de software do Configurando Interfaces de Voz. Telefones de IP não-Cisco não suportam essa configuração de VLAN de voz ou auxiliar. Remova manualmente as portas com telefones de IP não-Cisco.

Redirecionamentos de ICMP; Roteando Pacotes na Mesma Interface

O roteamento de pacotes ou tráfego de entrada e de saída na mesma interface da L3 pode resultar em um redirecionamento de ICMP pelo switch. Quando o switch detecta que o dispositivo do próximo salto para o último destino está na mesma sub-rede que o dispositivo de envio, ele gera o redirecionamento de ICM para a origem. As mensagens de redirecionamento indicam à origem para enviar o pacote diretamente para o dispositivo do próximo salto. As mensagens indicam que o dispositivo do próximo salto tem uma rota melhor para o destino, uma rota com menos um salto em relação ao switch.

No diagrama desta seção, o PC A se comunica com o servidor Web. O gateway padrão do PC A aponta para o endereço IP da interface VLAN 100. Contudo, o roteador do próximo salto que permite que o Catalyst 4500 atinja o destino está na mesma sub-rede que o PC A. Nesse caso, o melhor caminho é enviar diretamente para o “Router”. O Catalyst 4500 envia uma mensagem de redirecionamento de ICMP para o PC A. A mensagem instrui o PC A para enviar os pacotes destinados ao servidor de Web via Roteador, em vez de via Catalyst 4500. Contudo, na maioria dos casos, os dispositivos finais não respondem para o redirecionamento de ICMP. A falta de resposta faz com que o Catalyst 4500 gaste muitos ciclos de CPU na geração de tais redirecionamentos de ICMP para todos os pacotes que o Catalyst encaminha pela mesma interface que os pacotes de entrada.

cat4500_high_cpu-4.gif

Por padrão, o redirecionamento de ICMP está ativado. Para desativá-lo, use o comando no ip icmp redirects. Emita o comando na interface SVI ou L3 adequada.

Observação: Como ip icmp redirects é um comando padrão, ele não é visível na saída do comando show running-configuration.

Etapa 1: Procurar pelo processo do Cisco IOS, com o comando show processes cpu

Emita o comando show processes cpu. A saída do comando mostra que há dois processos principais que se destacam na utilização da CPU, Cat4k Mgmt LoPri e IP Input . Com essas informações apenas, você sabe que o processo dos pacotes de IP consome uma parte considerável dos ciclos da CPU.

Switch#show processes cpu
            Utilização da CPU por cinco segundos: 38%/1%; um 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

               !--- Saída suprimida.
            
  27         524    250268          2  0.00%  0.00%  0.00%   0 TTY Background
  28         816    254843          3  0.00%  0.00%  0.00%   0 Per-Second Jobs
  29      101100      5053      20007  0.00%  0.01%  0.00%   0 Per-minute Jobs
  30    26057260  26720902        975  5.81%  6.78%  5.76%   0 Cat4k Mgmt HiPri
  31    19482908  29413060        662 19.64% 18.20% 20.48%   0 Cat4k Mgmt LoPri 
            
               !--- Saída suprimida.
            
  35          60       902          0  0.00%  0.00%  0.00%   0 DHCP Snooping
  36    504625304 645491491       781 72.40% 72.63% 73.82%   0 IP Input
         

Etapa 2: Procurar pelo processo específico do Catalyst 4500, com o comando show platform health

A saída do comando show platform health confirma a utilização da CPU para processar os pacotes no seu âmbito.

Switch#show platform health 
%CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU

               --- Saída suprimida.
            
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

Etapa 3: Verificar a fila de recepção do tráfego para identificar o tipo de tráfego no âmbito da CPU

Emita o comando show platform cpu packet statistics para ver qual fila recebe o pacote no âmbito da CPU. A saída do comando mostra que a fila L3 Fwd Low recebe bastante tráfego.

Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Etapa 4: Identificar a causa raiz

Nesse caso, use o SPAN de CPU para determinar o tráfego que chega à CPU. Para obter informações sobre o SPAN da CPU, consulte a seção Ferramenta 1: Monitoramento do Tráfego da CPU com SPAN – Cisco IOS Software Release 12.1(19)EW e Posterior . Execute uma análise do tráfego e uma configuração por meio do comando show running-configuration . Nesse caso, um pacote será roteado pela mesma interface, o que leva a um problema de redirecionamento de ICMP para cada pacote. Essa causa raiz é um dos motivos comuns de utilização intensa da CPU no Catalyst 4500.

Você pode esperar que o dispositivo de origem atue no redirecionamento de ICMP que o Catalyst 4500 envia e mudar o próximo salto para o destino. Contudo, nem todos os dispositivos respondem a um redirecionamento de ICMP. Se o dispositivo não responder, o Catalyst 4500 deverá enviar redirecionamentos para cada pacote que o switch receber do dispositivo de envio. Tais redirecionamento podem consumir uma grande quantidade de recursos da CPU. A solução é desativar o redirecionamento de ICMP. Emita o comando no ip redirects nas interfaces.

Esse cenário pode ocorrer também caso tenha configurado endereços IP secundários. Quando você ativa endereços IP secundários, o redirecionamento de IP é automaticamente desativado. Não ative manualmente os redirecionamentos de IP.

Conforme indicado na seção Redirecionamentos de ICMP; Roteando Pacotes na Mesma Interface, a maioria dos dispositivos não responde aos redirecionamentos de ICMP. Assim, é recomendável desativar esse recurso.

Roteamento de IPX ou AppleTalk

O Catalyst 4500 suporta o roteamento de IPX e AppleTalk via caminho de encaminhamento de software apenas. Com a configuração de tais protocolos, uma utilização maior da CPU é normal.

Observação: A comutação do tráfego de IPX e AppleTalk na mesma VLAN não exige a comutação de processo. Apenas os pacotes que precisam ser roteados exigem tal encaminhamento.

Etapa 1: Procurar pelo processo do Cisco IOS, com o comando show processes cpu

Emita o comando show processes cpu para verificar qual processo do Cisco IOS está consumindo os recursos da CPU. Na saída de comando, observe que o processo superior é o 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

               !--- Saída suprimida.
            
  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
         

Etapa 2: Procurar pelo processo específico do Catalyst 4500, com o comando show platform health

A saída do comando show platform health confirma a utilização da CPU para processar os pacotes no seu âmbito.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU

               !--- Saída suprimida.
            
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

Etapa 3: Verificar a fila de recepção do tráfego para identificar o tipo de tráfego no âmbito da CPU

Para determinar o tipo de tráfego que chega à CPU, emita o comando show platform cpu packet statistics.

Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Etapa 4: Identificar a causa raiz

Como o administrador configurou o roteamento de IPX ou AppleTalk, a identificação da causa raiz deve ser direta. Contudo, para fins de confirmação, efetue SPAN no tráfego da CPU e verifique se o tráfego observado é o esperado. Para obter informações sobre o SPAN da CPU, consulte a seção Ferramenta 1: Monitoramento do Tráfego da CPU com SPAN - Cisco IOS Software Release 12.1(19)EW e Posterior.

Nesse caso, o administrador deve atualizar a CPU de referência para o valor atual. A CPU do Catalyst 4500 apresenta o comportamento esperado quando a CPU processa os pacotes comutados por software.

Host Learning

O Catalyst 4500 obtém os endereços MAC de vários hosts, caso o endereço ainda não esteja na tabela de endereços MAC. O mecanismo de comutação encaminha uma cópia do pacote com o novo endereço MAC para a CPU. Se o switch tiver de obter um número excessivo de novos endereços MAC, isso poderá causar uma utilização intensa da CPU.

Etapa 1: Procurar pelo processo do Cisco IOS, com o comando show processes cpu

Emita o comando show processes cpu para verificar qual processo do Cisco IOS está consumindo os recursos da CPU. Na saída de comando, observe que o processo superior é o 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

               !--- Saída suprimida.
            
  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
         

Etapa 2: Procurar pelo processo específico do Catalyst 4500, com o comando show platform health

A saída do comando show platform health confirma a utilização da CPU para processar os pacotes no seu âmbito.

Switch#show platform health
                     %CPU   %CPU    RunTimeMax   Priority  Average %CPU  Total
                     Target Actual Target Actual   Fg   Bg 5Sec Min Hour  CPU

               !--- Saída suprimida.
            
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

Etapa 3: Verificar a fila de recepção do tráfego para identificar o tipo de tráfego no âmbito da CPU

Para determinar o tipo de tráfego que chega à CPU, emita o comando show platform cpu packet statistics.

Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Etapa 4: Identificar a causa raiz

A saída do comando show platform health mostra que a CPU está em contato com uma grande quantidade de novos endereços MAC. Muitas vezes, essa situação resulta da instabilidade da topologia da rede. Por exemplo, se a topologia da árvore de abrangência mudar, o switch gerará TCNs (Topology Change Notifications). A emissão de TCNs reduz o tempo de vida para 15 segundos no modo PVST+. As entradas de endereços MAC são esvaziadas, caso eles não sejam reassimilados dentro desse período de tempo. No caso de Rapid STP (RSTP) (IEEE 802.1w) ou MST (IEEE 802.1s), as entradas expiram imediatamente quando a TCN provém de outro switch. Tal expiração faz com que os endereços MAC sejam assimilados como se fossem novos. Esse não é um problema importante quando mudanças na topologia são raras. Contudo, pode haver um número excessivo de mudanças na topologia devido à falta de sincronismo do link, a um switch defeituoso ou a portas do host não ativadas para o PortFast. Pode ocorrer um grande número de esvaziamentos da tabela de MAC e, conseqüentes, novos aprendizados. A próxima etapa na identificação da causa raiz é a solução de problemas da rede. O switch trabalha como esperado e envia pacotes à CPU para o aprendizado de endereços de host. Identifique e corrija o dispositivo defeituoso responsável pelo excesso de TCNs.

Sua rede pode ter muitos dispositivos que enviam tráfego em rajadas, o que faz com que os endereços MAC expirem e sejam novamente assimilados no switch. Nesse caso, aumente o tempo de vida da tabela de endereços MAC, para propiciar algum alívio. Com um tempo de vida maior, os switches manterão os endereços MAC dos dispositivos na tabela por um período maior antes que expirem.

cuidado Cuidado: Pense bem antes de fazer essa mudança na expiração. Ela poderá conduzir a um buraco negro de tráfego se você tiver dispositivos móveis na sua rede.

Falta de Recursos de Hardware (TCAM) para ACL de Segurança

O Catalyst 4500 programa as ACLs configuradas com o uso do Cisco TCAM. O TCAM leva em consideração a aplicação das ACLs no caminho de encaminhamento de hardware. Não há nenhum impacto sobre o desempenho do switch, com ou sem ACLs no caminho de encaminhamento. O desempenho é constante, a despeito do tamanho da ACL, porque o desempenho das pesquisas de ACL está na taxa de linha. Contudo, o TCAM é um recurso finito. Assim, se você configurar um número excessivo de entradas de ACL, excederá a capacidade do TCAM. A Tabela 3 mostra o número de recursos do TCAM disponíveis em cada Catalyst 4500 Supervisor Engine e switch.

Tabela 3 – Capacidade do TCAM nos Catalyst 4500 Supervisor Engines/Switches

Produto

Recurso TCAM (por Direção)

QoS TCAM (por Direção)

Supervisor Engine II+/II+TS

8192 entradas com 1024 máscaras

8192 entradas com 1024 máscaras

Supervisor Engine III/IV/V e Catalyst 4948

16.384 entradas com 2.048 máscaras

16.384 entradas com 2.048 máscaras

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

16.384 entradas com 16.384 máscaras

16.384 entradas com 16.384 máscaras

O switch utiliza o recurso TCAM a fim de programar a ACL de segurança, como RACL e VLAN ACL (VACL). O switch também utiliza o recurso TCAM para recursos de segurança como IP Source Guard (IPSG) para ACLs dinâmicas. O switch utiliza o QoS TCAM a fim de programar ACLs de classificação e vigilantes.

Quando o Catalyst 4500 executa fora dos recursos do TCAM durante a programação de uma ACL de segurança, uma aplicação parcial da ACL ocorre por meio do caminho do software. Os pacotes que chegam a tais ACEs são processados no software, o que causa o alto nível de utilização da CPU. A ACL é programada de cima para baixo. Em outras palavras, quando a ACL não pertence à TCAM, a ACE, na parte inferior da ACL, provavelmente não está programada na TCAM.

Essa mensagem de aviso aparece quando ocorre um excesso na 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.

Essa mensagem de erro pode ser vista na saída do comando show logging. A mensagem indica de modo conclusivo que algum processamento será realizado e, portanto, que poderá haver alto nível de utilização da CPU. 

Observação: Se uma ACL grande for alterada, a mensagem aparecerá brevemente antes que a ACL alterada seja programada novamente na TCAM.

Etapa 1: Procurar pelo processo do Cisco IOS, com o comando show processes cpu

Emita o comando show processes cpu. A saída do comando mostra que o nível de utilização da CPU é alto porque o processo Cat4k Mgmt LoPri está ocupando a maioria dos ciclos da 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

               !--- Saída suprimida.
            
  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

Etapa 2: Procurar pelo processo específico do Catalyst 4500, com o comando show platform health

Emita o comando show platform health. A saída do comando mostra que o processo K2CpuMan Review, uma tarefa de processamento de pacotes no âmbito da CPU, está utilizando os recursos desta.

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

Etapa 3: Verificar a fila de recepção do tráfego para identificar o tipo de tráfego no âmbito da CPU

É necessário saber qual fila da CPU e, portanto, que tipo de tráfego chega à fila da CPU. Emita o comando show platform cpu packet statistics. A saída do comando mostra que a fila ACL sw processing recebe um número elevado de pacotes. Assim, o excesso da TCAM é a causa do problema de alto nível de utilização da CPU.

Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Etapa 4: Resolver o problema

Na Etapa 3, você determinou a causa raiz no cenário. Remova a ACL que causou o excesso ou minimize-a de modo a impedir tal excesso. Além disso, examine a diretriz de configuração Configurando a Segurança da Rede com ACLs a fim de otimizar a configuração da ACL e programação no hardware.

A Palavra-Chave log na ACL

O Catalyst 4500 suporta o registro dos detalhes dos pacotes que chegam em qualquer entrada de ACL, mas o excesso de registro no log pode causar alto nível de utilização da CPU. Evite o uso das palavras-chave log, exceto durante o estágio de descoberta de tráfego. Durante o estágio de descoberta de tráfego, identifique o fluxo de tráfego na rede para o qual não há nenhuma ACE explícita configurada. Não utilize a palavra-chave log para obter as estatísticas. No Cisco IOS Software Release 12.1(13)EW e posterior, as mensagens de registro são limitadas por taxa. Se utilizar mensagens de registro para contar o número de pacotes correspondentes à ACL, a conta não será precisa. Pelo contrário, utilize o comando show access-list para obter estatísticas precisas. A identificação dessa causa raiz é mais fácil porque um exame da configuração ou mensagens de registro pode indicar o uso do recurso de registro da ACL.

Etapa 1: Procurar pelo processo do Cisco IOS, com o comando show processes cpu

Emita o comando show processes cpu para descobrir qual processo do Cisco IOS está consumindo os recursos da CPU. Na saída do comando, você descobrirá que o processo superior é o 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

               !--- Saída suprimida.
            
  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

Etapa 2: Procurar pelo processo específico do Catalyst 4500 com o comando show platform health

Verifique o processo específico da plataforma que utiliza a CPU. Emita o comando show platform health. Na saída, observe que o processo K2CpuMan Review utiliza a maioria dos ciclos de CPU. Essa atividade indica que a CPU está ocupada enquanto ela processa os pacotes destinados a ela.

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

Etapa 3: Verificar a fila de recepção do tráfego para identificar o tipo de tráfego no âmbito da CPU

Para determinar o tipo de tráfego que chega à CPU, emita o comando show platform cpu packet statistics. A saída do comando mostra que o recebimento de pacotes é devido à palavra-chave log da ACL:

Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Etapa 4: Resolver o problema

Na Etapa 3, você determinou a causa raiz no cenário. Para prevenir esse problema, remova a palavra-chave log das ACLs. No Cisco IOS Software Release 12.1(13)EW1 e posterior, os pacotes são limitados por taxa, portanto, a utilização da CPU não atinge valores muito elevados. Utilize os contadores da lista de acesso para manter controle dos acessos à ACL. A saída do comando show access-list acl_id exibe os contadores da lista de acesso.

Outras Causas do Alto Nível de Utilização da CPU

Estas são outras causas conhecidas do alto nível de utilização da CPU:

Perdas Excessivas de Sincronização do Link

O Catalyst 4500 exibe o alto nível de utilização da CPU quando um ou mais links conectados perde excessivamente o sincronismo. Essa situação ocorre nas versões anteriores do Cisco IOS Software Release 12.2(20)EWA.

Etapa 1: Procurar pelo processo do Cisco IOS com o comando show processes cpu

Emita o comando show processes cpu para verificar qual processo do Cisco IOS está consumindo os recursos da CPU. Na saída de comando, observe que o processo superior é o 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

               !--- Saída suprimida.
            
  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 

Etapa 2: Procurar pelo processo específico do Catalyst 4500, com o comando show platform health

A saída do comando show platform health indica que o processo KxAclPathMan create está esgotando a CPU. Esse processo é para criação do caminho interno.

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

Etapa 3: Identificar a causa raiz

Ative o registro das mensagens de ativação/desativação do link. Esse registro não está ativado por padrão. A ativação simplifica a localização dos links responsáveis pelo problema muito rapidamente. Emita o comando logging event link-status em todas as interfaces. Você pode usar o comando interface range para ativar convenientemente uma faixa de interfaces, conforme mostrado no exemplo:

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
            
               !--- Saída suprimida.
            
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down
3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up

Depois de identificar a falha ou falta de sincronismo da interface, encerre-a para resolver o problema de alto nível de utilização da CPU. O Cisco IOS Software Release 12.2(20)EWA e posterior melhorou o comportamento do Catalyst 4500 quanto à condição de falta de sincronismo do link. Assim, o impacto na CPU não é tão grande como antes da melhoria. Não se esqueça de que se trata de um processo de segundo plano. O alto nível de utilização da CPU devido a esse problema não causa efeitos adversos nos switches Catalyst 4500.

Picos de Utilização da CPU Devido à Verificação de Consistência da FIB

O Catalyst 4500 pode apresentar picos momentâneos de utilização da CPU durante uma verificação de consistência da tabela de FIB. A tabela de FIB é a tabela de encaminhamentos na L3 que o processo CEF cria. A verificação de consistência mantém a consistência entre a tabela FIB do Cisco IOS Software e as entradas de hardware. Essa consistência assegura que os pacotes não sejam erroneamente roteados. A verificação ocorre a cada 2 segundos e executa como um processo de segundo plano de baixa prioridade. Esse processo é o comportamento normal e não interfere com outros processos ou pacotes de alta prioridade.

A saída do comando show platform health mostra que o processo K2Fib Consistency Ch está consumindo grande parte dos recursos da CPU.

Observação: A utilização média da CPU para esse processo é insignificante por um minuto ou uma hora, o que confirma que a verificação é uma breve revisão periódica. O processo de segundo plano utiliza apenas os ciclos ociosos da 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

               !--- Saída suprimida.
            
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

Alto Nível de Utilização da CPU no Processo K2FibAdjMan Host Move

O Catalyst 4500 pode exibir o nível alto de utilização da CPU no processo K2FibAdjMan Host Move. Essa utilização elevada aparece na saída do comando show platform health. Muitos endereços MAC expiram freqüentemente ou são aprendidos nas novas portas, o que provoca o alto nível de utilização da CPU. A alternativa para esse problema é aumentar o tempo de vida do endereço MAC. Ou você pode estruturar a rede de modo a permitir um número elevado de movimentações de endereços MAC. O Cisco IOS Software Release 12.2(18)EW e posterior melhorou o comportamento desse processo a fim de consumir menos recursos da CPU. Consulte o ID de bug da Cisco CSCed15021 (clientes registrados somente) da Cisco.

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

               !--- Saída suprimida.
            
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

Alto Nível de Utilização no Processo RkiosPortMan Port Review

O Catalyst 4500 pode apresentar uma utilização elevada da CPU no processo RkiosPortMan Port Review, na saída do comando show platform health, no Cisco IOS Software Release 12.2(25)EWA e 12.2(25)EWA1. O erro ID CSCeh08768 (clientes registrados somente) da Cisco provoca o alto nível de utilização, o que foi resolvido no Cisco IOS Software Release 12.2(25)EWA2. Esse é um processo de segundo plano e não afeta a estabilidade dos 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

               !--- Saída suprimida.
            
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

Alto Nível de Utilização da CPU ao se Conectar a um Telefone de IP por meio das Portas de Tronco

Se uma porta estiver configurada tanto para opção de VLAN de voz quanto para de acesso, a porta atuará como uma porta de acesso multi-VLAN. A vantagem é que apenas as VLANs configuradas para as opções de voz e de acesso estão em tronco.

As VLANs em tronco para o telefone aumentam o número de instâncias de STP. O switch gerencia as instâncias de STP. O gerenciamento do acréscimo nas instâncias de STP também aumenta a utilização da CPU do STP.

O entroncamento de todas as VLANs também causa tráfego de broadcast e multicast desnecessários, e unicast desconhecido ao acessar o link telefônico.

Switch#show processes cpu
            Utilização da CPU por cinco segundos: 69%/0%; um 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         

Ferramentas de Solução de Problemas para Análise do Tráfego Destinado à CPU

Conforme mostrado neste documento, o tráfego destinado à CPU é uma das principais causas do alto nível de utilização da CPU no Catalyst 4500. O tráfego pode ser tanto intencional, devido à configuração, quanto não intencional, devido a um erro de configuração ou ataque de recusa de serviço. A CPU tem um mecanismo integrado de QoS para prevenir qualquer efeito adverso na rede devido a esse tráfego. Contudo, identifique a causa raiz do tráfego no âmbito da CPU e elimine o tráfego, caso esse seja indesejável.

Ferramenta 1: Monitoramento do Tráfego da CPU com SPAN - Cisco IOS Software Release 12.1(19)EW e Posterior

O Catalyst 4500 leva em consideração o monitoramento do tráfego no âmbito da CPU, de entrada ou de saída, utilizando a função padrão SPAN. A interface de destino se conecta a um monitor de pacotes ou ao laptop do administrador que executa o software sniffer de pacotes. Essa ferramenta é útil para analisar rápida e precisamente o tráfego que a CPU processa. A ferramenta oferece a capacidade de monitorar filas individuais presentes no âmbito do mecanismo de pacotes da CPU.

Observação: O mecanismo de comutação tem 32 filas para o tráfego da CPU e o mecanismo de pacotes da CPU tem 16 mecanismos.

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

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

Se conectar um PC que executa um programa sniffer, poderá rapidamente analisar o tráfego. Na saída exibida na janela desta seção, a causa do alto nível de utilização da CPU é um número excessivo de BPDUs do STP.

Observação: BPDUs do STP no sniffer da CPU é normal. Contudo, se houver mais do que o esperado, você excedeu os limites recomendados para o Supervisor Engine. Consulte a seção Um Alto Número de Instâncias de Portas de Árvore de Abrangência deste documento para obter informações adicionais.

cat4500_high_cpu-5.gif

Ferramenta 2: Sniffer Integrado da CPU – Cisco IOS Software Release 12.2(20)EW e Posterior

O Catalyst 4500 apresenta um sniffer e decodificador integrados à CPU para identificar rapidamente o tráfego que acessa à CPU. Você pode ativar esse recurso com o comando debug, conforme mostrado no exemplo desta seção. Esse recurso implementa um buffer circular que pode manter 1024 pacotes por vez. Os novos pacotes que chegam sobrescrevem os mais antigos. O uso desse recurso é seguro ao resolver problemas de alto nível de utilização de CPU.

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

Observação: A utilização da CPU ao emitir um comando debug quase sempre é 100%. É normal ter alto nível de utilização da CPU ao emitir o comando debug.

Ferramenta 3: Identifique a Interface que Envia o Tráfego para a CPU – Cisco IOS Software Release 12.2(20)EW e Posterior

O Catalyst 4500 oferece outra ferramenta útil para identificar as principais interfaces que enviam tráfego/pacotes para processamento da CPU. Essa ferramenta ajuda a identificar rapidamente um dispositivo errante que envia um número elevado de broadcast ou outros ataques de recusa de serviço para a CPU. O uso desse recurso também é seguro ao solucionar problemas de alto nível de utilização de CPU.

Switch#debug platform packet all count
platform packet debugging is on
Switch#show platform cpu packet statistics
            
               !--- Saída suprimida.
            
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

Pacotes Recebidos na CPU por Interface 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

Observação: A utilização da CPU ao emitir um comando debug quase sempre é 100%. É normal ter alto nível de utilização da CPU ao emitir o comando debug.

Resumo

Os switches Catalyst 4500 processam uma alta taxa de encaminhamento de pacotes IP versão 4 (IPv4) no hardware. Alguns dos recursos ou exceções podem causar o encaminhamento de alguns pacotes pelo caminho de processamento da CPU. O Catalyst 4500 utiliza um mecanismo de QoS sofisticado para processamento dos pacotes no âmbito da CPU. Esse mecanismo garante a confiabilidade e estabilidade dos switches e, ao mesmo tempo, maximiza a CPU para o encaminhamento de pacotes de software. O Cisco IOS Software Release 12.2(25)EWA2 e posterior fornece aprimoramentos adicionais para o tratamento e registro de pacotes/processos, assim como contabilidade. O Catalyst 4500 também possui comandos suficientes e ferramentas poderosas úteis na identificação da causa raiz dos cenários de alto nível de utilização da CPU. Contudo, na maioria dos casos, o alto nível de utilização da CPU no Catalyst 4500 não é motivo de instabilidade da rede nem de preocupação.

Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Informações Relacionadas


Document ID: 65591