Roteadores : Roteadores Cisco 1000 Series

Ajuste de Buffer para todos os Routers Cisco

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


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


Índice

Introdução
Pré-requisitos
     Requisitos
     Componentes Usados
     Convenções
Visão Geral
Plataformas Low-End (Routers Cisco 1600, 2500 e 4000 Series)
Plataformas high-end (Processadores de Rota, Processadores de Switch, Processadores de Switch de Silício e Processadores de Rota/Switch)
Plataformas com base em partícula
Ajuste do Buffer
Vazamentos de Buffer
Discussões relacionadas da comunidade de suporte da Cisco
Informações Relacionadas

Introdução

Este documento fornece uma visão geral de ajuste de buffer, com base em plataformas atuais e fornece informações gerais sobre o comando show buffers.

Pré-requisitos

Requisitos

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

Componentes Usados

Este documento não está restrito às versões específicas de software e de hardware.

As informações apresentadas neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos usados neste documento foram iniciados com uma configuração vazia (padrão). Caso esteja trabalhando em uma rede ativa, certifique-se de ter compreendido o possível impacto dos comandos antes de utilizá-los.

Convenções

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

Visão Geral

O ajuste de buffer permite modificar a maneira que um roteador aloca buffers de sua memória disponível e ajuda a evitar a queda de pacotes durante um aumento temporário de tráfego.

Para determinar se o buffer do roteador precisa ser ajustado, use os comandos show interfaces e show buffers.

Se tiver a saída dos comandos show interfaces e show buffers ou a saída do show technical-support (no modo habilitar) do dispositivo Cisco, você poderá usar para exibir possíveis problemas e correções. Para utilizar , você deve ser um cliente registrado, estar conectado e possuir o JavaScript habilitado.

Veja a seguir um exemplo de saída do comando show interfaces:

Output queue 0/40, 1041 drops; input queue 0/75, 765 drops
35252345 packets input, 547082589 bytes, 940 nenhum buffer
         
  • As quedas de entrada e de saída ocorrem devido à substituição das filas de entrada e de saída por uma intermitência de tráfego. Isso não está relacionado a um problema de buffer, mas sim a uma limitação de desempenho de switching de processo.

  • "Nenhum buffer" representa o número de pacotes descartados, pois não há nenhum buffer livre para copiar o pacote.

Usando o comando show buffers, observe o tamanho do buffer correspondente à unidade de transmissão máxima (MTU) da interface:

Middle buffers, 600 bytes (total 150, permanent 25):
  147 in free list (10 min, 150 max allowed)
  61351931 hits, 137912 misses, 51605 trims, 51730 created
  91652 failures (0 no memory)

A tabela a seguir explica a saída:

Palavra-chave

Descrição

total

O número total de buffers do pool, incluindo os buffers utilizados e os não utilizados.

permanent

O número permanente de buffers alocados no pool. Esses buffers estão sempre no pool e não podem ser cortados.

in free list

O número de buffers atualmente disponíveis no pool que estão livres para uso.

min

O número mínimo de buffers que o roteador deve tentar manter em "in free list". Se o número de buffers em "in free list" cair abaixo do valor de "min", o roteador deverá tentar criar mais buffers para esse pool.

max allowed

O número máximo de buffers permitidos em "in free list". Se o número de buffers em "in free list" for maior que o valor de "max allowed", o roteador deverá tentar cortar buffers do pool.

hits

O número de buffers alocados com sucesso a partir da lista de disponibilidade.

misses

O número de vezes que um buffer é solicitado, mas nenhum buffer está disponível na lista de disponibilidade ou quando há menos que o valor de "min" na lista de disponibilidade.

trims

O número de buffers excluídos do pool quando o número de buffers em "in free list" excede o número de buffers em "max allowed".

created

O número de buffers criados no pool quando o número de buffers "in free list" é inferior a "min".

no memory

O número de vezes em que o roteador tentou criar novos buffers mas não pôde devido à insuficiência de memória livre.

failures

O número de falhas necessárias para conceder um buffer a um solicitante abaixo do tempo de interrupção (lembre-se de que o roteador pode criar novos buffers no nível de switching de processo, de modo que a "failure" só ocorra quando houver "no memory"). O número de "failures" representa o número de pacotes que caíram devido à falta de buffer.

Como buffers são gerenciados pelo roteador

O número de buffers em "in free list" é o número de buffers disponíveis. Quando uma solicitação de buffer chegar, um buffer contido em "in free list" será alocado.

Se não houver nenhum buffer disponível e o switching rápido estiver habilitado, haverá uma falha de buffer e o pacote será descartado. Quando o processo do gerenciador do pool de buffers detectar uma falha de buffer, ele usará "create" para criar um novo buffer e evitar falhas futuras.

O roteador não criará um novo buffer se o número de "in free list" for igual ao valor de "max allowed". Se não houver memória suficiente no roteador para criar um novo buffer, isso será registrado como "no memory". Se o número de "in free list" for maior que o número de "max allowed", o roteador utilizará o recurso "trim" nos buffers em excesso.

Os números de "failures" e "no memory" são as únicas áreas de preocupação. Poderão ocorrer falhas, mas elas ficarão estáveis depois de um certo tempo. O roteador cria ou corta os buffers conforme necessário para estabilizar o número de falhas. Se o número de falhas continuar aumentando, o ajuste de buffer poderá ser necessário.

Se não houver memória suficiente para criar novos buffers, procure um vazamento de buffer ou um problema de memória mais geral Os buffers não são criados no caminho de switching rápido e, portanto, se o roteador tentar comutar rapidamente um pacote e não houver nenhum buffer disponível, o pacote será descartado e uma falha será informada. Um novo buffer será criado da próxima vez que o gerenciador do pool de buffers for executado.

Plataformas Low-End (Routers Cisco 1600, 2500 e 4000 Series)

Pacotes comutados rápidos e pacotes de processo comutados compartilham os mesmos buffers. Esses buffers ficam na memória compartilhada. A memória compartilhada está localizada na RAM dinâmica (DRAM) nos Routers Cisco 1600 e 2500 Series ou na memória compartilhada RAM (SRAM) para os Routers Cisco 4000, 4500 e 4700 Series.

As primeiras linhas do comando show memory informam a quantidade de memória compartilhada que você possui, a quantidade que está sendo usada atualmente e o seu ponto mais baixo. Quando um pacote não pode ser comutado rapidamente, é inserido um ponteiro para o pacote na fila de entrada de comutação do processo, mas o pacote não é copiado.

Esta é a saída do comando show buffers em uma plataforma low-end (Cisco 4500):

router# show buffers

Buffer elements:
     471 in free list (500 max allowed)
     870696495 hits, 0 misses, 0 created

Public buffer pools:
Small buffers, 104 bytes (total 50, permanent 50):
     49 in free list (20 min, 150 max allowed)
     27301678 hits, 23 misses, 20 trims, 20 created
     0 failures (0 no memory)
Middle buffers, 600 bytes (total 150, permanent 25):
     147 in free list (10 min, 150 max allowed)
     61351931 hits, 137912 misses, 51605 trims, 51730 created
     91652 failures (0 no memory)
Big buffers, 1524 bytes (total 67, permanent 50):
     67 in free list (5 min, 150 max allowed)
     46293638 hits, 455 misses, 878 trims, 895 created
     0 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 96, permanent 10):
     79 in free list (0 min, 100 max allowed)
     11818351 hits, 246 misses, 98 trims, 184 created
     243 failures (0 no memory)
Large buffers, 5024 bytes (total 10, permanent 0):
     10 in free list (0 min, 10 max allowed)
     4504003 hits, 873040 misses, 759543 trims, 759553 created
     873040 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)

Interface buffer pools:
TokenRing0 buffers, 4516 bytes (total 48, permanent 48):
     0 in free list (0 min, 48 max allowed)
     3099742 hits, 9180771 fallbacks
     16 max cache size, 1 in cache
TokenRing1 buffers, 4516 bytes (total 48, permanent 48):
     0 in free list (0 min, 48 max allowed)
     335172 hits, 403668 fallbacks
     16 max cache size, 16 in cache
Serial1 buffers, 1524 bytes (total 96, permanent 96):
     63 in free list (0 min, 96 max allowed)
     33 hits, 0 fallbacks
     0 max cache size, 0 in cache
Serial2 buffers, 1524 bytes (total 96, permanent 96):
     63 in free list (0 min, 96 max allowed)
     701370936 hits, 268 fallbacks
     0 max cache size, 0 in cache
Serial3 buffers, 1524 bytes (total 96, permanent 96):
     63 in free list (0 min, 96 max allowed)
     33 hits, 0 fallbacks
     0 max cache size, 0 in cache
Serial0 buffers, 4546 bytes (total 96, permanent 96):
     28 in free list (0 min, 96 max allowed)
     346854 hits, 5377043 fallbacks
     32 max cache size, 27 in cache

Os pools do buffer de interface são usados pelas interfaces para entrada/saída (E/S). Quando não há mais buffers na lista de buffers de interface livres, o roteador procura os pools de buffers públicos como recuo. Não há visita de desempenho para um recuo.

Colocar em cache é uma manipulação de software que acelera a disponibilidade de buffers para códigos de drivers de nível de interrupção ignorando algumas sobrecargas.

Observação: Normalmente, os buffers da interface não estão em sintonia.

Plataformas high-end (Processadores de Rota, Processadores de Switch, Processadores de Switch de Silício e Processadores de Rota/Switch)

Esta é a saída do comando show buffers em uma plataforma high-end:

Router# show buffers

Buffer elements:
  498 in free list (500 max allowed)
  326504974 hits, 0 misses, 0 created

Public buffer pools:
Small buffers, 104 bytes (total 150, permanent 150):
  140 in free list (30 min, 250 max allowed)
  564556247 hits, 148477066 misses, 16239797 trims, 16239797 created
  29356200 failures (0 no memory)
Middle buffers, 600 bytes (total 120, permanent 120):
  116 in free list (20 min, 200 max allowed)
  319750574 hits, 85689239 misses, 9671164 trims, 9671164 created
  26050704 failures (0 no memory)
Big buffers, 1524 bytes (total 100, permanent 100):
  98 in free list (10 min, 300 max allowed)
  20130595 hits, 14796572 misses, 251916 trims, 251916 created
  11813639 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 15, permanent 15):
  14 in free list (5 min, 300 max allowed)
  22966334 hits, 3477687 misses, 13113 trims, 13113 created
  2840089 failures (0 no memory)
Large buffers, 5024 bytes (total 12, permanent 12):
  12 in free list (0 min, 30 max allowed)
  849034 hits, 1979463 misses, 1028 trims, 1028 created
  1979456 failures (0 no memory)
Huge buffers, 18024 bytes (total 6, permanent 5):
  4 in free list (2 min, 13 max allowed)
  338440 hits, 1693496 misses, 1582 trims, 1583 created
  1640218 failures (0 no memory) 

Pools de Cabeçalho

Os pools de buffer públicos estão localizados na DRAM e são chamados de buffers do sistema. A memória compartilhada no Processador de Rota/Comutação (RSP) é chamada de MEMD (memória de pacote do sistema) e permite 2 MB de memória. No RP (Processador de Rotas) e no SP (Processador de Switch) (ou SSP – Processador de Switch de Silicone), os buffers de sistema estão localizados no RP e o MEMD está localizado no SP (ou SSP).

Quando um pacote entra, ele é salvo no MEMD por meio do recebimento do processador de interface (exceto no caso do Processador de Interface Versátil - VIP). Se não puder ser comutado rapidamente, o pacote inteiro será copiado para um buffer de sistema na DRAM. Portanto, os buffers vistos no comando show buffers são os buffers do sistema localizados na DRAM.

O comando show controllers cbus mostra os buffers de interface no MEMD. Novamente, não é aconselhável ajustar os buffers de interface. Quando um pacote não pode ser comutado rapidamente e é copiado para um buffer de sistema, o pacote é descartado e uma falha é contada, se não houver nenhum buffer de sistema disponível.

Plataformas com base em partícula

Os roteadores das séries Cisco 3600 e 7200 usam partículas. S buffers de interface são buffers atômicos, chamados partículas, nos quais os pacotes são divididos. Quando um pacote não pode ser comutado rapidamente, o roteador precisa remontá-lo em um buffer de sistema, pois o código de switching de processo não tem capacidade para lidar com partículas.

A seguir está a saída do comando show buffers em um Cisco 3600:

Router# show buffers
Buffer elements:
     499 in free list (500 max allowed)
     136440 hits, 0 misses, 0 created

Public buffer pools:
Small buffers, 104 bytes (total 50, permanent 50):
     49 in free list (20 min, 150 max allowed)
     4069435 hits, 141 misses, 73 trims, 73 created
     52 failures (0 no memory)
Middle buffers, 600 bytes (total 25, permanent 25):
     25 in free list (10 min, 150 max allowed)
     628629 hits, 21 misses, 21 trims, 21 created
     3 failures (0 no memory)
Big buffers, 1524 bytes (total 50, permanent 50):
     50 in free list (5 min, 150 max allowed)
     9145 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)

Interface buffer pools:
CD2430 I/O buffers, 1524 bytes (total 0, permanent 0):
     0 in free list (0 min, 0 max allowed)
     0 hits, 0 fallbacks

Header pools:
Header buffers, 0 bytes (total 265, permanent 256):
     9 in free list (10 min, 512 max allowed)
     253 hits, 3 misses, 0 trims, 9 created
     0 failures (0 no memory)
     256 max cache size, 256 in cache

Particle Clones:
     1024 clones, 0 hits, 0 misses

Public particle pools:
F/S buffers, 256 bytes (total 384, permanent 384):
     128 in free list (128 min, 1024 max allowed)
     256 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
     256 max cache size, 256 in cache
Normal buffers, 1548 bytes (total 512, permanent 512):
     356 in free list (128 min, 1024 max allowed)
     188 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
     128 max cache size, 128 in cache


Private particle pools:
Ethernet0/0 buffers, 1536 bytes (total 96, permanent 96):
     0 in free list (0 min, 96 max allowed)
     96 hits, 0 fallbacks
     96 max cache size, 64 in cache
Serial0/0 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
BRI0/0 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
BRI0/0:1 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
BRI0/0:2 buffers, 1548 bytes (total 14, permanent 14):
     0 in free list (0 min, 14 max allowed)
     14 hits, 0 fallbacks
     14 max cache size, 14 in cache
TokenRing0/0 buffers, 1548 bytes (total 64, permanent 64):
     0 in free list (0 min, 64 max allowed)
     64 hits, 0 fallbacks
     64 max cache size, 64 in cache
     4 buffer threshold, 0 threshold transitions

Os pools de partícula privada são utilizados pelas interfaces e não devem ser ajustados. Quando nenhum buffer está disponível na lista de disponibilidade, o roteador volta aos pools de partícula pública.

Observação: Os pools de partículas públicas não podem ser ajustados.

Os buffers de cabeçalho são usados para registrar uma lista de todas as partículas pertencentes a um pacote.

Observação: Buffers de sistema são utilizados para switching de processos. No Cisco 3600, todos esses buffers estão na memória de E/S, localizada na DRAM. Você pode especificar a quantidade de memória de E/S usando o comando memory-size iomem . No Cisco 7200, os pools de buffer de partícula de interface para os PAs (Adaptadores de porta) de grande largura de banda estão localizados na SRAM.

Ajuste do Buffer

Segue um exemplo do comando show buffers:

Middle buffers, 600 bytes (total 150, permanent 25):
  147 in free list (10 min, 150 max allowed)
  61351931 hits, 137912 misses, 51605 trims, 51730 created
  91652 failures (0 no memory)

Nesse exemplo, os buffers do meio têm muitas falhas. Este não é um problema sério, pois representa apenas 0,1 % das ocorrências de resultado. Esses números devem ser melhorados facilmente com algum ajuste de buffer.

Dependendo da arquitetura do roteador, os buffers que você ajusta geralmente pertencem à memória de E/S (low-end) ou memória principal (high-end). Antes de ajustar os buffers, verifique primeiro se você tem E/S livres ou memória principal suficiente usando as primeiras linhas do comando show memory.

Veja a seguir alguns valores gerais que podem ser usados:

  • permanente: use o número total de buffers de um pool e adicione cerca de 20%.

  • livres para o valor mínimo: definir o mínimo livre como aproximadamente 20-30% do número permanente de buffers alocados no pool.

  • livres para o valor máximo: defina max-free com um valor maior que a some de permanentes e mínimos.

No exemplo de ajuste de buffer acima, poderíamos inserir esses comandos no modo de configuração global:

buffers middle permanent 180
buffers middle min-free 50
buffers middle max-free 230 

Normalmente, o Software Cisco IOS® cria os buffers dinamicamente, para que essas configurações sejam corretas. No entanto, no caso de um aumento de tráfego, o roteador pode não ter tempo suficiente para criar os novos buffers e o número de falhas pode continuar a aumentar. Use o comando buffers para alterar as configurações padrão do pool de buffers. Verifique se as alterações nos valores do buffer foram feitas com cuidado, pois configurações inadequadas do buffer podem afetar o desempenho do sistema. Se quiser limpar os contadores do buffer, o roteador terá que ser recarregado.

Existem dois tipos de intermitência de tráfego:

  • Intermitência Lenta: Nesse caso, o roteador tem tempo suficiente para criar novos buffers. Aumente o número de buffers min-free. Usando os buffers livres, você pode atingir o valor livre para o valor mínimo e criar novos buffers.

  • Burst rápido: Com aumentos rápidos de tráfego, o roteador não tem tempo suficiente para criar os novos buffers e você deverá usar os buffers livres. Para fazer isso, modifique o número de buffers permanentes.

Conclusão: Se o contador de criação aumentar depois do ajuste inicial, aumente o livres para o valor mínimo (burst lento). Se o contador de falhas aumentar, mas não o contador de criação (burst rápido), aumente o valor permanente.

Vazamentos de Buffer

A seguir está um exemplo da saída do comando show buffers:

Big buffers, 1524 bytes (total 1556, permanent 50):
  52 in free list (5 min, 150 max allowed)
  43670437 hits, 5134 misses, 0 trims, 1506 created
  756 failures (0 no memory) 

Essa saída indica um vazamento de buffer no pool de buffers grande. Há ao todo 1556 buffers grandes no roteador e apenas 52 estão na lista de disponibilidade. Algo está utilizando todos os buffers e não os está liberando. Para obter mais informações sobre vazamentos de buffer, consulte Solução de Problemas de Vazamentos de Buffer.

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