Software Cisco IOS e NX-OS : Software Cisco IOS versões 12.1 Mainline

Solucionando Problemas de Memória

22 Maio 2008 - Tradução Manual
Outras Versões: Versão em PDFpdf | Tradução por Computador (29 Julho 2013) | Inglês (28 Novembro 2006) | Feedback


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


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes Usados
     Convenções
O Que é Falha de Alocação de Memória?
Sintomas
Erro “Impossível Criar EXEC” ou Quando o Console Não Responde
Compreendendo a Mensagem de Erro
Causas Possíveis
     Memória nos Processadores ("Processador de Conjunto" em Todas as Plataformas)
     Memória em Pacote ("E/S" ou " Processador" em Roteadores Topo de Linha, "PCI" na série 7200 e nas Placas VIP)
Solução de Problemas
     Problema Relacionado à Segurança
     O Tamanho da Memória Não Suporta a Imagem do Cisco IOS Software
     Erro de Escape de Memória
     Grande Quantidade de Memória Utilizada para Processos Normais ou Anormais
     Erro ou Problema de Fragmentação de Memória
     Falha de Alocação de Memória em Process = <interrupt level>
     Problemas Conhecidos
     Memória Compartilhada Não Suficiente para as Interfaces
     Erro de Escape de Buffer
     Baixa Execução do Roteador na Memória Rápida
Sumário de Solução de Problemas
     Falhas de Alocação de Memória do “Processador” de Conjunto
     Falhas de Alocação de Memória de Entrada-Saída (“E/S”) do Conjunto (“Processador” nos Roteadores Topo de Linha, “PCI” na Série 7200)
Informações a Serem Coletadas se uma Solicitação de Serviço da TAC for Aberta
Discussões relacionadas da comunidade de suporte da Cisco

Introdução

Este documento explica os sintomas e as possíveis causas da falha de alocação de memória (MALLOCFAIL) e oferece diretrizes para solução de problemas de memória.

Pré-requisitos

Requisitos

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

Componentes Usados

As informações neste documento são baseadas nas versões de software e hardware abaixo.

  • Todas as versões do software Cisco IOS®

  • Todos os roteadores Cisco

Observação: Este documento não se aplica a switches Cisco Catalyst nem a plataformas MGX.

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 começaram com uma configuração esclarecida (padrão). Caso esteja trabalhando em uma rede ativa, certifique-se de conhecer o possível impacto dos comandos antes de utilizá-los.

Convenções

Para obter mais informações sobre as convenções nos documentos, consulte Convenções de Dicas Técnicas da Cisco.

O Que é Falha de Alocação de Memória?

Falha de alocação de memória tem um dos seguintes significados:

  • O roteador usou toda a memória disponível (permanente ou temporariamente) ou

  • A memória foi fragmentada em partes tão pequenas que o roteador não consegue encontrar um bloco disponível que possa ser utilizado. Isso pode acontecer tanto com a memória do processador (utilizada pelo Cisco Internet Operating System [IOS]) quanto com a do pacote (utilizada pelos pacotes de entrada e de saída).

Sintomas

Entre os sintomas de falha de alocação de memória encontram-se, embora não de forma exclusiva:

  • A mensagem do console ou de registro: "%SYS-2-MALLOCFAIL: A alocação de memória de 1028 bytes falhou em 0x6015EC84, Processador de Conjunto, alinhamento 0"

  • Sessões Telnet recusadas

  • A exibição do comando show processor memory, independente do que for digitado num console.

  • Ausência de saída para alguns comandos show

  • Mensagens "Memória Insuficiente".

  • A mensagem do console “Impossível criar EXEC – memória insuficiente ou excesso de processos”

  • Suspensão do roteador; ausência de resposta no console.

Erro “Impossível Criar EXEC” ou Quando o Console Não Responde

Quando um roteador está com memória baixa, não é possível abrir uma sessão Telnet para algumas instâncias do roteador. Nesse momento, é importante obter acesso à porta do console para coletar dados para solução de problemas. Ao se conectar à porta do console, as seguintes informações podem ser exibidas:

%% Unable to create EXEC - no memory or too many processes

Se receber a mensagem acima, não há memória suficiente para viabilizar uma conexão com o console. Algumas etapas permitem conseguir a captura de dados através do console. Se liberar alguma memória do roteador, o console poderá responder e será possível capturar os dados necessários do roteador para fins de solução de problemas.

Observação: Se o Border Gateway Protocol (BGP) estiver configurado no roteador, consulte Alcançar o Roteamento Ideal e Reduzir o Consumo da Memória BGP para diminuir o consumo da memória relativa a tal processo.

Estas são as etapas para tentar capturar dados pela porta do console, em casos de memória muito baixa:

  1. Desconecte os cabos da LAN e WAN das interfaces no roteador. Isso fará com que o roteador pare os pacotes que estão passando.

  2. Verifique o console novamente. Você recebe alguma resposta e consegue executar comandos? Em pouco tempo, deve haver memória disponível suficiente para permitir a resposta do console.

  3. Colete as informações necessárias no modo privilegiado do EXEC (Router#). Reúna, pelo menos, a saída completa dos seguintes comandos: show memory allocating-process totals (ou show memory summary se show memory allocating-process totals não estiver disponível), show logging e, se possível, show technical-support.

  4. Depois de coletar os dados necessários, reconecte todos os links de LAN e WAN e continue a monitorar o uso da memória do roteador.

Compreendendo a Mensagem de Erro

Quando executar o comando show logging, a saída será semelhante a esta:

%SYS-2-MALLOCFAIL: Memory allocation of [X] bytes failed from
0x6015EC84, pool [Pool], alignment 0 -Process=
"[Process]" ipl= 6, pid=5

[X] = quantidade de bytes que o roteador tentou alocar, mas não conseguiu encontrar memória livre suficiente para tanto

[Pool] indica se a memória do processador ('Pool Processor') ou do pacote ('pool I/O') será afetada. Roteadores topo de linha (Séries 7000 e 7500) possuem buffer na DRAM (Dynamic Random-Access Memory) principal, assim alguma falta de memória de pacote será informada como "processador de conjunto". As placas da série 7200 e VIP (Versatile Interface Processor) também podem informar erros no Protocol Control Information (PCI) do conjunto (‘pool PCI') da memória do pacote.

[Process] é o processo afetado pela falta de memória.

Causas Possíveis

Memória nos Processadores ("Processador de Conjunto" em Todas as Plataformas)

O Tamanho da Memória Não Suporta a Imagem do Cisco IOS Software

Erro de Escape de Memória

Grande Quantidade de Memória Utilizada para Processos Normais ou Anormais

Erro ou Problema de Fragmentação de Memória

Falha de Alocação de Memória em Process = <interrupt level>

Problemas Conhecidos

Problema 70x0 Conhecido ao Carregar um Cisco IOS Software de Grande Porte a Partir do Flash ou Netboot

IP Input e CiscoWorks UT Discovery

Memória em Pacote ("E/S" ou " Processador" em Roteadores Topo de Linha, "PCI" na série 7200 e nas Placas VIP)

Memória Compartilhada Não Suficiente para as Interfaces

Erro de Escape de Buffer

Baixa Execução do Roteador em Memória Rápida

Solução de Problemas

Problema Relacionado à Segurança

Normalmente, os erros do MALLOCFAIL são causados por uma emissão de segurança, como um verme ou vírus em operação na rede. Essa é a causa mais provável, caso não tenha havido mudanças recentes na rede, como uma atualização do IOS do roteador. Normalmente, uma alteração de configuração, como a adição de linhas adicionais às suas listas de acesso, pode aliviar os efeitos do problema. A página Relatórios Formais e Notas de Segurança dos Produtos Cisco contém informações sobre detecção das causas mais prováveis e alternativas específicas.

Para obter informações adicionais, consulte:

O Tamanho da Memória Não Suporta a Imagem do Cisco IOS Software

Primeiro, consulte as Informações sobre a Versão ou a Área de Download de Software (clientes registrados somente) no que se refere ao tamanho mínimo da memória para o conjunto de recursos e versão que está executando. Verifique se ela é suficiente. Os requisitos de memória no CCO (Cisco Connection Online) são os tamanhos mínimos recomendados para o funcionamento correto do roteador na maioria das redes corporativas. Os requisitos de memória reais variam de acordo com os protocolos, tabelas de roteamento e padrões de tráfego.

Erro de Escape de Memória

Se tiver a saída do comando show memory allocating-process totals, show memory summary ou show technical-support (no modo de ativação) do dispositivo Cisco, poderá usar o para exibir possíveis problemas e correções. Para utilizar , você deve ser um cliente registrado, estar conectado e possuir o JavaScript habilitado.

O escape de memória ocorre quando um processo requisita ou aloca memória e esquece-se de liberá-la (desalocar) ao encerrar o processamento da tarefa. Como resultado, o bloco de memória fica reservado até o roteador ser recarregado. Com o tempo, mais e mais blocos de memória são alocados pelo processo até que não haja memória livre disponível. Dependendo da severidade da condição de memória baixa nesse ponto, a única opção possível é recarregar o roteador para torná-lo operacional novamente.

Esse é um erro do Cisco Internet Operating System (IOS). Para se livrar dele, faça a atualização para a versão mais recente no treinamento de versão (por exemplo, se estiver executando a versão 11.2(14) do software Cisco IOS®, atualize para a imagem mais recente de 11.2(x).

Se isso não resolver o problema ou se não quiser fazer atualização no roteador, digite o comando show processes memory em intervalos regulares por um período de tempo (por exemplo, a cada poucas horas ou dias, dependendo da velocidade do escape de memória, rápida ou lenta). Verifique se a memória livre continua a diminuir e não retorna nunca. A taxa de desaparecimento da memória livre depende da freqüência de ocorrência do evento que causa o escape. Como a memória nunca é liberada, você pode rastrear o processo que a está utilizando criando instantâneos da memória durante um período. Observe que processos diferentes alocam e desalocam memória de acordo com a necessidade, assim haverá diferenças; contudo, devido ao escape contínuo, você verá um processo consumindo continuamente mais memória (Nota: é normal para alguns processos, como o Border Gateway Protocol (BGP) ou o roteador Open Shortest Path First (OSPF), usar mais do que um Megabyte de memória, o que não caracteriza escape).

Para identificar o processo que está consumindo mais memória, compare a coluna Holding do comando show processes memory no decorrer do tempo. Algumas vezes, é possível ver claramente que um processo está mantendo vários megabytes de memória. Às vezes, são necessários vários snapshots para localizar o culprit. Ao perder uma quantidade significativa de memória, colete a saída do comando show memory allocating-process totals ou show memory summary como informação adicional de solução de problemas. Em seguida, entre em contato com o Cisco Technical Assistance Center (TAC) e apresente as informações coletadas junto com um sumário do roteador, show technical-support.

A ferramenta Output Interpreter permite receber uma análise do comando show memory allocating-process totals ou da saída do comando show memory summary.

A tabela abaixo apresenta as três primeiras linhas da saída do comando show memory summary:

Router>show memory summary

            Head       Total (b)   Used (b)  Free (b)   Lowest (b)  Largest (b)
Processor   60AB4ED0   5550384     2082996   3467388    3464996     3454608
I/O         40000000   16777216    1937280   14839936   14839936    14838908

Total = a quantidade total da memória disponível depois que a imagem do sistema é carregada e constrói sua estrutura de dados.

Used = a quantidade de memória atualmente alocada.

Free = a quantidade de memória atualmente livre.

Lowest = a menor quantidade de memória livre registrada pelo roteador desde a última inicialização.

Largest = o maior bloco de memória livre atualmente disponível.

O comando show memory allocating-process totals contém as mesmas informações que as três primeiras linhas do comando show memory summary.

Seguem as informações contidas na saída do comando show processes memory:

Router>show processes memory
Total: 3149760, Used: 2334300, Free: 815460

PID   TTY   Allocated    Freed      Holding    Getbufs    Retbufs   Process
0     0     226548       1252       1804376    0          0         *Initialization*
0     0     320          5422288    320        0          0         *Scheduler*
0     0     5663692      2173356    0          1856100    0         *Dead*
1     0     264          264        3784       0          0         Load Meter
2     2     5700         5372       13124      0          0         Virtual Exec
3     0     0            0          6784       0          0         Check heaps
4     0     96           0          6880       0          0         Pool Manager
5     0     264          264        6784       0          0         Timers
6     0     2028         672        8812       0          0         ARP Input
7     0     96           0          6880       0          0         SERIAL A' detect
8     0     504          264        7024       0          0         ATM ILMI Input
9     0     0            0          6784       0          0         ILMI Process
10    0     136          0          6920       0          0         M32_runts pring
11    0     136          0          6920       0          0         Call drop procs
12    0     340          340        12784      0          0         ATMSIG Timer
13    0     445664       442936     13904      0          0         IP Input
14    0     2365804      2357152    17992      0          0         CDP Protocol
15    0     528          264        7048       0          0         MOP Protocols
16    0     188          0          9972       0          0         IP Background
17    0     0            1608       6784       0          0         TCP Timer
18    0     5852116      0          14236      0          0         TCP Protocols

Allocated = a quantidade total de bytes alocados pelo processo desde que o roteador foi inicializado.

Freed = a quantidade total de bytes liberados por esse processo.

Holding = a quantidade total de bytes atualmente retidos por esse processo. Esta é a coluna mais importante para a solução de problemas, já que ela mostra a quantidade real de memória atribuída ao processo. A espera é necessariamente igual ao Alocado menos o Liberado porque alguns processos alocam um bloco de memória que é depois devolvido para o pool livre por outro processo.

O Processo *Dead*

O processo *dead* não é um processo real. Destina-se a registrar a memória alocada sob o contexto de outro processo que fora encerrado. Por exemplo:

Há alocação de memória durante a configuração da Network Address Translation (NAT) numa sessão Telnet. Essa memória é contabilizada debaixo do processo ("Virtual Exec") do Telnet. Ao término do processo, a memória da configuração da NAT ainda está em uso. Isso é demonstrado por meio do processo *dead*.

A saída do comando show memory dead mostra sob qual contexto a memória estava alocada, na coluna "What":

Router#show memory dead
               Head   Total(b)    Used(b)    Free(b)  Lowest(b) Largest(b)
      I/O    600000    2097152     461024    1636128    1635224    1635960

          Processor memory

 Address  Bytes Prev.    Next     Ref  PrevF   NextF   Alloc PC  What
1D8310       60 1D82C8   1D8378     1                  3281FFE   Router Init
2CA964       36 2CA914   2CA9B4     1                  3281FFE   Router Init
2CAA04      112 2CA9B4   2CAAA0     1                  3A42144   OSPF Stub LSA RBTree
2CAAA0       68 2CAA04   2CAB10     1                  3A420D4   Router Init
2ED714       52 2ED668   2ED774     1                  3381C84   Router Init
2F12AC       44 2F124C   2F1304     1                  3A50234   Router Init
2F1304       24 2F12AC   2F1348     1                  3A420D4   Router Init
2F1348       68 2F1304   2F13B8     1                  3381C84   Router Init
300C28      340 300A14   300DA8     1                  3381B42   Router Init 

Se for detectado um escape de memória e o processo *Dead* estiver consumindo memória, inclua a saída do comando show memory dead nas informações fornecidas ao TAC Cisco.

Grande Quantidade de Memória Utilizada para Processos Normais ou Anormais

Essa é uma das causas mais difíceis de ser verificada. O problema é caracterizado por uma grande quantidade de memória livre, mas um pequeno valor na coluna "Lowest". Nesse caso, um evento normal ou anormal (por exemplo, uma grande instabilidade de roteamento) faz com que o roteador use, de modo incomum, uma grande quantidade de memória do processador em um curto período de tempo, durante o qual ocorre uma falta de memória. Durante esse período, o roteador relata um MALLOCFAIL. É possível que logo depois, a memória seja liberada e o problema desapareça (por exemplo, a rede se estabiliza). A falta de memória também pode ocorrer devido a uma combinação de fatores, como:

  • um escape da memória que consome uma grande quantidade de memória seguida por uma instabilidade da rede que zera a memória livre

  • o roteador não possui memória suficiente para começar, mas o problema é descoberto somente durante um raro evento de rede.

Se o roteador não for reiniciado, digite o comando show memory allocating-process totals (ou show memory summary se show memory allocating-process totals não estiver disponível) e examine as primeiras três linhas. As mensagens de registro podem fornecer dicas sobre qual processo estava consumindo muita memória:

Se o uso excessivo da memória for causado por um:

  • evento normal, a solução é instalar mais memória.

  • evento raro ou anormal, corrija o problema relacionado. Talvez você decida adquirir memória como um “seguro” para o futuro.

Erro ou Problema de Fragmentação de Memória

Essa situação significa que o processo consumiu uma grande quantidade de memória do processador e liberou a maior parte ou toda ela, deixando fragmentos ainda alocados por esse ou por outros processos que alocaram memória durante o problema. Se o mesmo evento ocorrer várias vezes, a memória poderá se fragmentar em pequenos blocos, até o ponto em que todos os processos que requeiram um grande bloco de memória não possam obter a quantidade de memória necessária. Isso pode afetar a operação do roteador a ponto de não ser possível conectá-lo e receber um prompt se a memória estiver muito fragmentada.

Esse problema é caracterizado por um valor baixo na coluna "Largest" (abaixo de 20.000 bytes) do comando show memory, embora a coluna "Freed" apresente um valor suficiente (1MB ou mais), ou por alguma outra grande disparidade entre as duas colunas. Isto pode acontecer quando o roteador fica muito lento na memória, pois não há nenhuma rotina de desfragmentação no IOS.

Se suspeitar de fragmentação da memória, encerre algumas interfaces. Isso pode liberar os blocos fragmentados. Se funcionar, a memória estará se comportando normalmente e basta adicionar mais memória. Se o encerramento das interfaces não ajudar, isso pode ser um erro. A melhor ação a ser tomada é entrar em contato com o representante de suporte Cisco com as informações coletadas.

Falha de Alocação de Memória em Process = <interrupt level>

Essa situação pode ser identificada pelo processo na mensagem de erro. Se o processo for listado como <interrupt level>, como no exemplo a seguir, a causa da falha de alocação de memória é um problema de software.

"%SYS-2-MALLOCFAIL: Memory allocation of 68 bytes failed from 0x604CEF48,
pool Processor, alignment 0-Process= <interrupt level>, ipl= 3"

Esse é um erro do Cisco Internet Operating System (IOS). Utilize a Bug Toolkit (clientes registrados somente) para procurar um ID de erro de software que corresponda a tal problema. Uma vez identificado o erro do software, atualize para uma versão do Cisco IOS Software que contenha a correção para tal problema.

Problemas Conhecidos

Problema 70x0 Conhecido ao Carregar um Cisco IOS Software de Grande Porte a Partir do Flash ou Netboot

Quando o Processador de Rota (RP) 7000 inicializa uma imagem no Flash, o RP primeiro carrega a imagem ROM e, em seguida, a imagem flash na memória. O RP antigo tem apenas 16 MB de memória e as versões Enterprise do Cisco IOS® Software em versão posterior à 11.0 são maiores que 8 MB quando descompactadas. Assim, quando você carrega a imagem do ROM e, depois, do Flash, o 7000 RP pode ficar sem memória, ou esta pode se tornar fragmentada durante o processo de inicialização, assim o roteador pode apresentar mensagens de erro relativas à memória.

A solução é ativar a Reinicialização Rápida do registro de configuração de modo que o RP carregue apenas um subconjunto mínimo da imagem do Cisco IOS Software no ROM; e carregar o Cisco IOS Software completo a partir do Flash. Para ativar a Reinicialização Rápida, configure o registro para 0x2112. Isso também acelerará o processo de inicialização.

IP Input e CiscoWorks UT Discovery

O recurso UT Discovery do CiscoWorks pode fazer com que a quantidade de memória livre torne-se muito pequeno em alguns roteadores. O comando show proc memory pode indicar uma grande quantidade de memória retida pelo processo “IP input”. Esse caso é particular do problema Grande Quantidade de Memória Utilizada para Processos Normais ou Anormais do processo "IP input", que também pode resultar num problema de Fragmentação de Memória, se a condição de memória baixa causar a sua fragmentação.

O recurso UT Discovery faz com que a Estação de Gerenciamento de Rede envie uma varredura de ping para todos os IPs em cada sub-rede descoberta. Problemas de memória são causados pelo tamanho crescente do cache de comutação rápida de IP no roteador, porque novas entradas são criadas para cada destino novo. Como a máscara utilizada para as entradas no cache depende de como ela está disposta na sub-rede, a presença de um endereço com uma máscara de 32 bits (por exemplo, um endereço de circuito fechado) na rede principal faz com que todas as entradas de tal rede utilizem uma máscara de 32 bits. Isso faz com que um número enorme de entradas do cache seja criado, o que utiliza uma grande quantidade de memória.

A melhor solução é desativar a UT Discovery. Para isso, use estas etapas:

  1. Vá para C:\Arquivos de Programas\CSCOpx\etc\cwsi\ANIServer.properties.

  2. Adicione "UTPingSweep=0".

  3. Reinicie o ANI.

Pode ser que a Tabela de Rastreamento de Usuário não contenha alguns servidores de extremidade ou fique desatualizada (esse pode ser um problema com o outro aplicativo Cisco denominado Ferramenta de Registro do Usuário, que é dependente do UT), contudo não afeta a Descoberta de Campus que utiliza apenas o tráfego SNMP. A comutação CEF também pode melhorar essa situação (com o CEF, o cache de IP é criado a partir da tabela de roteamento, na inicialização). Consulte Como Escolher o Melhor Caminho de Comutação de Roteiro Para a Sua Rede para obter mais informações sobre o CEF e outros caminhos de comutação disponíveis.

Situações similares de memória baixa podem ocorrer com diversos outros aplicativos. Na maioria dos casos, a causa de raiz do problema não é o roteador, mas o aplicativo. Normalmente, você poderá impedir essas inundações de pacotes, verificando a configuração do aplicativo.

Memória Compartilhada Não Suficiente para as Interfaces

Alguns roteadores (por exemplo, das Séries 2600, 3600 e 4000) requerem uma quantidade mínima de memória de E/S para dar suporte a certos processadores de interface.

Se o roteador estiver executando em baixa memória compartilhada, mesmo depois da recarga, a remoção física das interfaces resolve o problema.

Nos 3600 Series Routers, o comando de configuração global memory-size iomem i/o-memory-percentage pode ser usado para realocar a porcentagem da DRAM a ser utilizada para as memórias de E/S e do processador. Os valores admissíveis para i/o-memory-percentage são10, 15, 20, 25 (o padrão), 30, 40 e 50. A memória de E/S requer, pelo menos, de 4 MB.

Para resolver esse problema, consulte:

Erro de Escape de Buffer

Com a saída do comando show buffers ou show technical-support (no modo de ativação) do dispositivo Cisco, você pode usar o para exibir possíveis problemas e correções. Para utilizar , você deve ser um cliente registrado, estar conectado e possuir o JavaScript habilitado.

Ao término de um processo com buffer, este deve ser liberado. Um escape de buffer ocorre quando o código se esquece de processar ou de liberá-lo ao concluir com o pacote. Como resultado, o conjunto de buffers continua a crescer e mais e mais pacotes ficam presos nos buffers.

O comando show buffers pode ser usado para identificar o escape de buffer. Alguns conjuntos de buffers públicos devem estar excepcionalmente grandes, com poucos buffers livres. Depois da recarga, a saída do comando mostrará que o número de buffers livres nunca bate com o número total de buffers.

A Ferramenta Output Interpreter oferece uma análise da saída do comando show buffers.

No exemplo abaixo, os buffers do meio estão afetados. O comando show buffers indica que aproximadamente 8094 buffers são utilizados e não liberados (8122 total menos 28 livres):

Public buffer pools: Small buffers, 104 bytes (total 50, permanent 50):
     50 in free list (20 min, 150 max allowed)
     403134 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
Middle buffers, 600 bytes (total 8122, permanent 200):
     28 in free list (10 min, 300 max allowed)
     154459 hits, 41422 misses, 574 trims, 8496 created
Big buffers, 1524 bytes (total 50, permanent 50):
     50 in free list (5 min, 150 max allowed)
     58471 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 10, permanent 10):
     10 in free list (0 min, 100 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
Large buffers, 5024 bytes (total 0, permanent 0)
     0 in free list (0 min, 10 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
Huge buffers, 18024 bytes (total 0, permanent 0):
     0 in free list (0 min, 4 max allowed)
     0 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory) 

Esse é um erro do Cisco IOS Software. Faça a atualização do treinamento de versão para a mais recente a fim de corrigir os erros de escape de buffer conhecidos. Por exemplo, se estiver executando o Cisco IOS Software Release 11.2(14), atualize para a última imagem, 11.2(x). Se isso não ajudar ou se não for possível fazer a atualização do roteador, emita os seguintes comandos para o conjunto de problemas quando o roteador estiver com falta de memória. Tais comandos exibirão informações adicionais sobre o conteúdo dos buffers:

  • show buffer old: mostra os buffers alocados por mais de um minuto

  • show buffer pool (small - middle - big - verybig - large - huge): mostra um resumo dos buffers do conjunto especificado

  • show buffer pool (small - middle - big - verybig - large - huge) dump: Mostra um dump em hexa/ASCII de todos os buffers em uso de um determinado conjunto.

Para obter mais informações sobre escapes de buffer, consulte Solucionando Problemas de Escape de Buffer.

Baixa Execução do Roteador na Memória Rápida

Esse problema é específico da série 7500. Se o roteador ficar sem memória “rápida”, ele usará a Dynamic RAM (DRAM) principal como opção. Nenhuma ação é necessário.

Sumário de Solução de Problemas

Falhas de Alocação de Memória do “Processador” de Conjunto

Siga estas etapas.

  1. Verifique os requisitos de memória do conjunto de recursos ou versão de release do Cisco IOS Software.

  2. Se possível, atualize o seu treinamento de versão para a última versão de release do Cisco IOS Software.

  3. Procure por uma quantidade grande de memória utilizada por processos normais ou não. Se necessário, adicione mais memória.

  4. Verifique se é escape ou fragmentação (escape de buffer nos roteadores topo de linha).

  5. Colete as informações pertinentes e entre em contato com o TAC.

Falhas de Alocação de Memória de Entrada-Saída (“E/S”) do Conjunto (“Processador” nos Roteadores Topo de Linha, “PCI” na Série 7200)

Siga estas etapas:

  1. Verifique os requisitos de memória compartilhada (consulte Memória Compartilhada Não Suficiente para as Interfaces).

  2. Se possível, atualize o seu treinamento de versão para a versão de release mais recente do Cisco IOS Software.

  3. Determine o conjunto de buffer afetado, colete as informações pertinentes e entre em contato com o Cisco TAC.

Informações a Serem Coletadas se uma Solicitação de Serviço da TAC for Aberta

Se ainda precisar de assistência depois das etapas de solução de problemas e quiser abrir uma Solicitação de Serviço da TAC (clientes registrados somente) , não se esqueça de incluir as seguintes informações:

  • Solução de problemas executada antes de abrir o caso

  • A saída do comando show technical-support (no modo de ativação, se possível) – várias capturas para ilustrar como o uso da memória do roteador mudou no decorrer do tempo

  • Saída do comando show log ou capturas do console, se disponíveis

  • show memory allocating-pool totals ou show memory summary - várias capturas para ilustrar como o uso da memória do roteador mudou no decorrer do tempo

Talvez precise usar as técnicas na seção Erro "Impossível Criar EXEC" ou Quando o Console Não Responde para obter as informações. Podem ser necessárias várias capturas de informações para determinar a causa do problema. Como há vários tipos de escapes de memória, o engenheiro TAC pode precisar de informações adicionais assim que o tipo correto seja identificado.

Em caso de suspeita de problema de fragmentação de memória, inclua:

  • show memory free

  • show memory bigger

Em caso de suspeita de um vazamento do buffer, inclua:

  • show buffer old

  • show buffer pool (small - middle - big - verybig - large - huge): para o conjunto de problemas. Por exemplo, se suspeitar de um vazamento no conjunto do meio, inclua o comando show buffer pool middle

  • show buffer pool (small - middle - big - verybig - large - huge) packet: para o conjunto de problemas. Por exemplo, se suspeitar de um escape no conjunto do meio, inclua o comando show buffer pool middle packet

Você pode fazer upload e anexar informações ao seu case através da Ferramenta de Solicitação de Serviço do TAC (clientes registrados somente) . Se não for possível acessar a Ferramenta de Solicitação de Serviço, envie as informações por e-mail, na forma de anexo, para attach@cisco.com, com o número do caso na linha de assunto, para que as informações pertinentes sejam anexadas ao seu caso.

Observação: Não recarregue nem ligue-desligue manualmente o roteador antes de coletar as informações acima, a menos que seja necessário resolver problemas de memória, pois isso pode causar a perda de informações importantes e necessárias à determinação da causa raiz do problema. O engenheiro TAC pode sugerir a recarga do roteador e a coleta de informações adicionais ao término de tal atividade, como parte da solução de problemas, dependendo da causa.


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.


Document ID: 6507