Roteadores : Roteadores Cisco 1000 Series

Troubleshooting de Alta Utilização de CPU em Cisco Routers

16 Janeiro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Tradução Manual (22 Maio 2008) | Inglês (31 Dezembro 2015) | Feedback


Interativo: Este documento oferece análise personalizada do seu dispositivo Cisco.


Índice


Introdução

Este documento descreve sintomas e causas comuns de uma grande utilização da CPU em Cisco routers e oferece orientações e soluções de Troubleshooting.

Pré-requisitos

Requisitos

Pesquisar defeitos a utilização elevada da CPU em roteadores Cisco exige a compreensão de trajetos de switching do software do � do Cisco IOS. Para obter informações sobre dos trajetos de switching do Cisco IOS Software, veja conceitos básicos de ajuste de desempenho.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Sintomas de grande utilização da CPU

Esta lista descreve os sintomas comuns de utilização elevada da CPU. Se você observar qualquer um destes sintomas, siga os passos para Troubleshooting neste documento para atenuar o problema.

  • Altos percentuais na saída do comando show processes cpu

    Se você tem a saída de um comando show processes cpu de seu dispositivo Cisco, você pode usar-se para indicar problemas potenciais e reparos. Para usar-se , você deve ser um cliente registrado, ser entrado, e ter o Javascript permitido.

  • Desempenho lento

  • Os serviços no roteador não respondem, por exemplo:

    • Resposta lenta no Telnet ou impossível realizar o Telnet para o roteador

    • Resposta lenta no console

    • Resposta lenta ou ausente para efetuar ping

    • O roteador não envia atualizações de roteamento ao outro Roteadores

  • Falhas de buffer altas

Troubleshooting Inicial

Uma vez que você observa alguns dos sintomas dos sintomas de utilização de CPU alta:

Determinando as causas e solucionando o problema

Use o comando show processes cpu verificar se a utilização CPU é alta devido às interrupções ou aos processos.

Grande utilização de CPU devido a interrupções

Para mais informação, refira pesquisando defeitos a utilização elevada da CPU causada por interrupções. Se o nível das elevações CPU devido às interrupções que são provavelmente devido a aos pacotes do CEF switching, o nível do CPU não afeta o desempenho de roteador.

Alta utilização da CPU ao permitir o Netflow NDE no Cisco 7600 Series Router

Se o Netflow é configurado para a versão 7, o fluxo está executado pelo processador de roteamento, que poderia causar a utilização elevada da CPU.

Para pesquisar defeitos a utilização elevada da CPU devido à versão 7 do Netflow, configuram a versão 5 do remetente do nde dos mls, porque a exportação de Netflow é executada pelo SP, que é o padrão para a versão 5 ou a versão 9.

Grande utilização de CPU devido a processos

Verifique que processo está carregando o CPU. Uma atividade incomum relacionada a um processo resulta em uma mensagem de erro no registro. Portanto, a saída do comando show logging exec deve ser verificada primeiro quanto a qualquer erro relacionado ao processo que consome muitos dos ciclos da CPU.

A eliminação de erros pode igualmente ser da ótima ajuda na utilização elevada da CPU do Troubleshooting nos processos. Não obstante, debugar deve ser realizado com cuidado extremo porque pode aumentar a utilização CPU ainda mais. Estas condições prévias devem ser encontradas a fim fazer debugar seguro e útil:

  • Todos os destinos de registro exceto o registo do buffer devem ou ser desabilitados ou seu nível de seriedade de registo deve ser abaixado de 7 (eliminação de erros) a 6 (informativo) ou menos, usando o comando configuration apropriado do [severity-level] do destino de registro. Para ver o que destinos de registro e a correspondência nivela é permitido, lido as linhas de cabeçalho do comando show logging exec.

  • O tamanho de logging buffer deve ser aumentado a fim capturar a informação suficiente. Para mais detalhes, refira a descrição do comando global configuration protegido de registo.

  • A fim poder ler e compreender melhor debuga, o datetime e os formatos de tempo de milisegundo devem ser permitidos. Para mais detalhes, refira a descrição do comando global configuration dos rótulos de tempo de serviço.

Um sessão de debugging da amostra dos pacotes IP é fornecido na utilização elevada da CPU do Troubleshooting no processo de entrada IP.

Para pesquisar defeitos a utilização elevada da CPU em processos específicos, referem o link apropriado:

  • Entrada ARP — Seção de entrada de ARP da utilização elevada da CPU do Troubleshooting do documento devido aos processos

  • BGP Router — Alta utilização da CPU devido à seção do processo de roteador BGP da alta utilização da CPU do Troubleshooting do documento causada pelo scanner de BGP ou pelo processo de roteador BGP

  • Scanner de BGP — Alta utilização da CPU devido à seção do scanner de BGP da alta utilização da CPU do Troubleshooting do documento causada pelo scanner de BGP ou pelo processo de roteador BGP

  • EXEC — Utilização elevada da CPU no EXEC e nos processos de EXEC virtuais

  • Entrada de hybridge — Pesquisando defeitos a utilização elevada da CPU causada pelo processo de entrada de hybridge no Roteadores com interfaces ATM

  • IP entrado — Pesquisando defeitos a utilização elevada da CPU devido ao processo de entrada IP

  • Simple Network Management Protocol (SNMP) IP — Utilização elevada da CPU das causas do Simple Network Management Protocol (SNMP) IP

  • Atualizador de ADJ LC — Que utilização elevada da CPU das causas no processo de Atualizador da adjacência LC em um Cisco 12000 Series Internet Router?

  • Temporizador de TCP — Seção do temporizador de TCP da utilização elevada da CPU do Troubleshooting do documento devido aos processos

  • Fundo de TTY — Seção do Fundo de TTY da utilização elevada da CPU do Troubleshooting do documento devido aos processos

  • EXEC virtual — Utilização elevada da CPU no executivo e nos processos de EXEC virtuais

  • Vtemplate Backgr — Seção do fundo do molde virtual da utilização elevada da CPU do Troubleshooting do documento devido aos processos

  • Processo SSH — Pôde ir altamente se capturando uma tecnologia da mostra ou alguns debugam são permitidos.

  • Outros processos — A outra seção dos processos da utilização elevada da CPU do Troubleshooting do documento devido aos processos

O PCI e as associações de memória rápida mostram muito a utilização elevada

É normal ver a memória livre baixa com PCI e associações de memória rápida. A memória de PCI é usada para o acesso de memória ao controlador GT64260 no mainboard PRP para os barramentos PCI conectados a ela. Esta memória é usada para uma comunicação interna entre o controlador do sistema e outras peças, assim que parece ser alta todo o tempo.

Se mais memória é precisada, cai de volta à memória do conjunto de processador. A memória rápida é uma quantidade pequena de memória que foi reservada para o uso das estruturas de dados do bloco de descritor da interface de hardware (IDB). Esta memória é reservada igualmente completamente durante todo a inicialização, assim que é sempre mostras como alto desde que a memória é usada completamente. Devido a isto, é normal ver a memória livre baixa com o pool de memória rápida.

%SNMP-4-HIGHCPU: O processo excede o ponto inicial da Senhora do [dec] (quantum da Senhora IO do [dec]) para o [chars] do [chars]--[chars] do resultado

O mensagem hog de CPU olha como este:

SNMP-4-HIGHCPU: Process exceeds 200ms threshold (200ms IOS quantum)
for GET of rmon.19.16.0--result rmon.19.16.0

Um mensagem do syslog novo (HIGHCPU) foi adicionado aos IO em 12.4(13). Se um processo se aferra ao CPU para mais a Senhora de 200, relata uma mensagem HIGHCPU. A mensagem HIGHCPU não tem nenhum impacto no roteador. Apenas deixa-o saber que processo causou a alta utilização da CPU. A mensagem HIGHCPU é similar ao mensagem Cpuhog Messages, mas a mensagem HIGHCPU tem um ponto inicial de uma tolerância muito mais baixa, em 1/10 da quantidade de tempo comparada a um mensagem Cpuhog Messages, isto é, medido nos milissegundos). Nas versões antes de 12.4(13) nos 2600, os processos foram executado por umas épocas mais longas mas não geraram mensagens porque as Versões do IOS não tiveram este realce.

O SNMP PDU que processa (perguntas do objeto MIB) é suposto para ser executado em um único CPU - cronometra o quantum para assegurar-se de que cada objeto no PDU esteja recuperado como se simultaneamente. Esta é uma exigência imposta pelo padrão de protocolo de SNMP. Alguns objetos são agregados de muitos dados no sistema, assim, mesmo que sejam únicos objetos, lá são muito envolvido de processamento devido à maneira que são providos. Se não abandonam o CPU, segundo as exigências da instrumentação de MIB ordena, há uma possibilidade deste Mensagem de Erro. Adicionalmente, se você vota diversos objetos diferentes no mesmo grupo de objetos/tabela e recebe o Mensagem de Erro, não é incomum devido a esta mesma razão.

Esta mensagem é usada para identificar os objetos que usam mais processador central - tempo do que esperado (mas ainda não CPUHOG). As ferramentas algum NMS/instrumentation não se comportam bem ao votar. Esta edição é documentada na identificação de bug Cisco CSCsl18139 (clientes registrados somente).

Alta utilização da CPU devido à criptografia de software

Quando não há nenhum módulo de criptografia de hardware instalado no dispositivo, a seguir todo o tráfego criptografado que vem através do dispositivo terá que ser cifrado pelo software. Esta é muito utilização de CPU. Não é recomendar usar a criptografia de software para nenhum desenvolvimento da criptografia com um requisito de throughput razoável. Uma opção para resolver esta edição é reduzir o volume de tráfego criptografado (redistribua o tráfego ou limite os fluxos que são cifrados). Contudo, a melhor maneira de endereçar esta edição é obter um módulo de criptografia de hardware instalado para este dispositivo que elimina a necessidade para que a criptografia ocorra através do software.

Nota: A possibilidade dos crypto map no túnel/interfaces física é um processo do consumo de memória e pode causar um aumento no CPU.

Utilização elevada da CPU devido à fragmentação

As remontagens podem conduzir acima do CPU muito altamente se o CPU tem que remontar um grande número pacotes.

Para pesquisar defeitos a utilização elevada da CPU devido à fragmentação, emitem o tcp mss-ajustam o comando 1400 na relação que ajusta o valor do Maximum Segment Size (MSS) dos pacotes do sincronizar/começo TCP (SYN) que dirigem um roteador.

Comandos para obter mais informações

Esses comandos fornecem mais informações sobre o problema.

Se o roteador é completamente inacessível, primeiro ciclo de energia ele. Então, recolha periodicamente a saída dos comandos nesta seção, à exceção do comando show log, cujas as mensagens devem ser entradas um servidor de SYSLOG. O intervalo para recolher a saída deve ser cinco minutos. Você pode recolher os dados manualmente ou automaticamente, usando este script de shell Unix. Você também pode coletar dados usando HTTP ou SNMP. Para detalhes sobre configurar o HTTP e o SNMP em um roteador Cisco, refira o documento de configuração do Cisco IOS Software.

Comando show processes cpu

Este é um exemplo do cabeçalho do comando show processes cpu:

 CPU utilization for five seconds: X%/Y%; one minute: Z%; five minutes: W% 
  PID  Runtime(ms)  Invoked  uSecs    5Sec   1Min   5Min TTY Process 

Esta tabela descreve os campos no encabeçamento:

Campo Descrição
X A utilização total média durante os últimos cinco segundos (interrupções + processos)
Y Utilização média devido a interrupções durante os últimos cinco segundos1
Z Utilização total média durante o último minuto2
W A utilização média total durante os últimos cinco minutos2
PID ID de Processo
Tempo de execução O tempo da CPU usado pelo processo (em milissegundos)
Chamado O número de vezes um processo foi chamado
uSecs Microssegundos de tempo da CPU para cada chamada
5Sec Utilização da CPU por tarefa nos últimos cinco segundos
1min Utilização do CPU por tarefa nos últimos 2 minutos
5Min Utilização CPU pela tarefa nos últimos cinco minutos2
TTY Terminal que controla o processo
Processo Nome do processo

1Utilização de CPU no nível de processamento = X - Y

2 Os valores não representam uma média aritmética, mas uma média exponencialmente reduzida. Portanto, valores mais recentes têm mais influência na média calculada.

Use esse enlace, para obter uma explicação detalhada do comando show processes cpu.

Nota: A utilização total de CPU não deve ser usada como uma medida da capacidade do roteador para comutar mais pacotes. Em Cisco 7500 Router, o Versatile Interface Processors (VIP) e a rota/processadores de switch (RSP) não relatam a utilização CPU Linear. Aproximadamente a metade da capacidade de switching pacote por segundo é fornecida após 90 a 95% de utilização da CPU.

Comando show interfaces

O comando reference contém uma explicação detalhada do comando show interfaces.

Comando show interfaces switching

Este comando é utilizado para determinar caminhos de switching ativos nas interfaces. Para obter mais informações sobre caminhos de comutação no software Cisco IOS, consulte o documento Configuring Switching Paths (Configurando caminhos de comutação).

Esta é uma saída de exemplo do comando show interfaces switching para uma interface:

RouterA#show interfaces switching
 Ethernet0 
           Throttle count          0 
         Drops         RP          0         SP          0 
   SPD Flushes       Fast          0        SSE          0 
   SPD Aggress       Fast          0 
  SPD Priority     Inputs          0      Drops          0 

      Protocol       Path    Pkts In   Chars In   Pkts Out  Chars Out 
         Other    Process          0          0        595      35700 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
            IP    Process          4        456          4        456 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
           IPX    Process          0          0          2        120 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
 Trans. Bridge    Process          0          0          0          0 
             Cache misses          0 
                     Fast         11        660          0          0 
                Auton/SSE          0          0          0          0 
       DEC MOP    Process          0          0         10        770 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
           ARP    Process          1         60          2        120 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
           CDP    Process        200      63700        100      31183 
             Cache misses          0 
                     Fast          0          0          0         0 
                Auton/SSE          0          0          0          0 

Como a saída lista os caminhos de switching de todos os protocolos configurados na interface, você pode facilmente ver que tipo e que quantidade de tráfego está passando pelo roteador. A tabela explica os campos de saída.

Campo Definição
Processo Pacotes processados. Podem ser pacotes destinados ao roteador ou pacotes para os quais não há nenhuma entrada no cache de switching rápida.
Falhas de cache Os pacotes para os quais não havia entrada no cache de switching rápida. O primeiro pacote deste destino (ou fluxo – depende do tipo de switching rápida que estiver configurado) será processado. Todos os pacotes subseqüentes serão comutados rapidamente, a menos que a switching rápida esteja explicitamente desativada na interface de saída.
Rápido Pacotes Fast Switched A switching rápida está habilitada por padrão.
Auton/SSE Pacotes comutados comutados ou distribuídos autônomos comutada, do silicone. Disponível somente em Cisco 7000 Series Router com um processador de switch ou um Silicon Switch Processor (para o switching independente ou o switching de silício, respectivamente), ou em Cisco 7500 Series Router com um VIP (para o Distributed Switching).

Comando show interfaces stat

Este comando é uma versão resumida do comando show interfaces switching. Este é o exemplo de saída de uma interface:

 RouterA#show interfaces stat
 Ethernet0 
           Switching path    Pkts In   Chars In   Pkts Out  Chars Out 
                Processor      52077   12245489      24646    3170041 
              Route cache          0          0          0          0 
        Distributed cache          0          0          0          0 
                    Total      52077   12245489      24646    3170041 

A saída do comando show interfaces stat é diferente para plataformas distintas, dependendo dos caminhos de switching disponíveis e configurados.

show ip nat translations

O comando show ip nat translations indica as traduções do Network Address Translation (NAT) ativas no roteador. Cada tradução ativa gera interrupções CPU e tem um impacto na utilização total de CPU do roteador. Muito um número grande de traduções pode ter um impacto no desempenho no roteador.

Veja abaixo um exemplo do comando show ip nat translations:

     router#show ip nat translations
     Pro Inside global    Inside local    Outside local    Outside global
     --- 172.16.131.1     10.10.10.1      ---              ---

Comando show align

Este comando está disponível somente em plataformas baseadas em processador de RISC (Computação de conjunto de instruções reduzido). Nessas plataformas, a CPU pode corrigir as leituras ou gravações de memória desalinhadas. Este é algum exemplo de saída:

 Alignment data for: 
 4500 Software (C4500-DS40-M), Version mis-aligned RELEASE SOFTWARE (fc1) 
 Compiled Tue 31-Mar-98 15:05 by jdoe

 Total Corrections 33911, Recorded 2, Reads 33911, Writes 0 

 Initial Initial 
 Address Count Access Type Traceback 
 40025F4D 15561 16bit read 0x606F4A7C 0x601C78F8 0x6012FE94 0x600102C0 
 40025F72 18350 32bit read 0x606FB260 0x6013113C 0x600102C0 0x60010988 

Comando show version

Com o fim de rastrear problemas de elevada utilização do CPU, a parte importante dessa saída de comando são a versão de Software Cisco IOS, a plataforma, o tipo de CPU e o período operacional do roteador. A referência de comando fornece uma explicação detalhada do comando show version.

Comando show log

Este comando mostra o conteúdo das mensagens de registro no buffer. Para obter mais informações sobre as mensagens de acesso ao sistema, consulte a seção Log System Error Messages (Mensagem de erro para acesso ao sistema) do Troubleshooting the Router configuration guide (Manual de solução de problemas sobre configuração de roteadores).

Script de shell UNIX para coleta periódica de dados

Este apêndice descreve um script simples para capturar dados periodicamente a partir do roteador. O centro do script está nesta linha:

  (echo "show version") | telnet 192.168.1.1

O comando entre parênteses é executado no secundário-shell e a saída é enviada a uma sessão de Telnet. Este é um exemplo de script para captura da saída dos comandos show version e show processes cpu.

     #!/opt/local/bin/bash

     ########################################### 
     # Router's IP address 
     # 
     IP_ADDRESS='10.200.40.53' 
       

     # Directory where the log files will be stored 
     # 
     DIR=/var/log/router 

     ######################################## 

     if [ ! -e $DIR ] 
     then 
       mkdir $DIR 
     fi 

     # Tag specification: mmddhhmm 
     DATE=`date +'%m%d'` 
     TIME=`date +'%H%M'` 
     TAG=$DATE$TIME 

     # Collect data from the router 
     (echo "foo";\ 
     echo "bar";\ 
     echo "term len 0";\ 
     echo "show version";\ 
     echo "show processes cpu";\ 
     echo "term len 15";\ 
     echo "show memory summary";\ 
     echo "q";\ 
     sleep 30)|telnet $IP_ADDRESS > $DIR/info.$TAG 2>$DIR/info.$TAG.msg 

Nota: Neste script todos os dados, incluindo a senha, são enviados em um formato de texto claro.

Na primeira seção, você precisa especificar o endereço IP e o diretório de destino de arquivos de registro. A segunda seção contém os comandos reais que são enviados ao roteador. O primeiro é o username, então a senha, e assim por diante. Um truque para a captura apenas das primeiras linhas de saída de determinados comandos está incluído. O comprimento do terminal é definido como um valor pequeno (15, neste caso), e o caractere "q" só é enviado quando solicitado.

Se os dados forem coletados periodicamente, a saída do comando show version mostra se o problema tem natureza periódica, por exemplo, se ele aparece sempre em uma determinada hora do dia ou em um dia específico da semana. Se você precisa de recolher a saída dos comandos more, podem ser adicionados ao script da mesma forma como aqueles mostrados no exemplo. Se você precisar truncar a saída enviada ao arquivo, primeiro aumente o período de inativação (o comando sleep entre parênteses).

Execute este script cada cinco minutos se o problema da utilização elevada da CPU aparece frequentemente e não dura por muito tempo. Se não, você pode executá-lo cada 15 ou 30 minutos. Para a acessibilidade, salvar o script em um arquivo tal como /usr/bin/router-script. Então, para executá-lo cada cinco minutos, adicionar a seguinte linha ao arquivo de /etc/crontab:

     */5       *       *       *       *       /usr/bin/router-script

Reinicie o servidor cron. Se você não tiver autoridade para alterar o arquivo /etc/crontab, execute o script em um processo separado, como este:

     while [ 1 ]; do ./router-script ; sleep 300; done &

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: 15095