| 2 Abril 2008 - Tradução Manual |
Outras Versões: Versão em PDF Feedback |
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
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.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas nestas versões de hardware e software:
Catalyst 4500 Series Switches
Catalyst 4948 Series Switches
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.
Consulte Convenções de Dicas Técnicas da Cisco para obter mais informações sobre as convenções de documentos.
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:
Gerencia protocolos de software configurados, por exemplo:
STP (Spanning Tree Protocol)
Protocolo de roteamento
CDP (Cisco Discovery Protocol)
Port Aggregation Protocol (PAgP)
VTP (VLAN Trunk Protocol)
DTP (Dynamic Trunking Protocol)
Configuração de programas/entradas dinâmicas para os ASICs de hardware, por exemplo:
Listas de controle de acesso (ACLs)
Entradas de CEF
Gerencia internamente diversos componentes, por exemplo:
Placas de linhas PoE (Power over Ethernet)
Fontes de alimentação
Bandeja da ventoinha
Gerencia o acesso ao switch, por exemplo:
Telnet
Console
SNMP (Simple Network Management Protocol)
Encaminha pacotes via caminho de software, por exemplo:
Pacotes roteados por IPX (Internetwork Packet Exchange), suportados apenas no caminho de software.
Fragmentação da unidade máxima de transmissão (MTU)
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:
Pacotes copiados para a CPU cujos originais são comutados no hardware
Um exemplo disso é o conhecimento de endereço MAC do host.
Pacotes enviados para a CPU para processamento
Alguns exemplos:
Atualizações de protocolo de roteamento
BPDUs
Um pico, intencional ou não, no tráfego
Pacotes enviados para a CPU, para encaminhamento
Um exemplo são os pacotes que precisam do roteamento IPX ou AppleTalk.
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
|
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.
|
|
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:
L2 Fwd Highest ou L3 Fwd Highest
L2 Fwd High/Medium ou L3 Fwd High/Medium
L2 Fwd Low ou L3 Fwd Low
L3 Rx High ou L3 Rx Low
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.
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:
Ação corretiva – Pode incluir mudanças de configuração ou da rede, ou a criação de uma requisição de serviço do Suporte Técnico da Cisco, para obter análise adicional.
Nenhuma ação – O Catalyst 4500 está funcionando como esperado. A CPU apresenta alto nível de utilização porque o Supervisor Engine maximiza os ciclos da CPU de modo a executar todos os encaminhamentos de pacotes de software e trabalhos em segundo plano necessários.
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
Estas são as etapas gerais de solução de problemas:
Emita o comando show processes cpu para identificar os processos do Cisco IOS que consomem os ciclos da CPU.
Emita o comando show platform health para identificar mais processos específicos da plataforma.
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.
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.
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.
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.
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
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.
|
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.
Esta seção descreve alguns dos problemas comuns de alto nível de utilização da CPU nos switches Catalyst 4500.
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:
Um número alto de instâncias de portas da árvore de abrangência
Redirecionamentos de ICMP; roteando pacotes na mesma interface
A falta de recursos de hardware (TCAM) para ACL de segurança
Outros motivos para a comutação de pacotes para a CPU são:
Fragmentação da MTU – verifique se todas as interfaces ao longo do caminho do pacote possuem a mesma MTU.
ACL com sinalizadores de TCP diferentes dos estabelecidos
Roteamento de IP versão 6 (IPv6) – Suportado apenas via caminho de comutação de software.
GRE – Suportado apenas via caminho de comutação de software.
Recusa de tráfego no Roteador ACL (RACL) de entrada ou de saída
Observação: Isso é limite de taxa no Cisco IOS Software Release 12.1(13)EW1 e posterior.
Emita o comando no ip unreachables na interface da ACL.
Chegada de tráfego ARP e DHCP excessivo à CPU, para processamento, devido ao grande número de hosts diretamente conectados
Em caso de suspeita de ataque ao DHCP, use a espionagem de DHCP para aplicar o limite de taxa a esse tráfego em qualquer porta específica do host.
Polling excessivo de SNMP por uma estação final legítima ou inadequada
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.
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
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
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
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
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.
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.
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.
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
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
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
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.
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.
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
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
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
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.
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.
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
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
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
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: 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.
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.
|
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.
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
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
É 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
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.
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.
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
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
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
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.
Estas são outras causas conhecidas do alto nível de utilização da CPU:
Picos de utilização da CPU devido à verificação de consistência da FIB
Alto nível de utilização da CPU no processo K2FibAdjMan Host Move
Alto nível de utilização da CPU no processo RkiosPortMan Port Review
Alto nível de utilização da CPU ao se conectar a um telefone de IP por meio das portas de tronco
Pico durante programação da ACL de grande porte
O pico na utilização da CPU ocorre durante a aplicação ou remoção de uma ACL de grande porte de uma interface.
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.
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
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
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.
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
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
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
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
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.
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.
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.
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.
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.
A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.