Roteadores : Roteadores Cisco 1000 Series

Buffer ajustando todos os 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 fornece uma visão geral do ajuste de buffer com base nas 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 Utilizados

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

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.

Convenções

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

Visão geral

O ajuste do buffer permite que você altere a maneira que um roteador atribui bufferes de sua memória disponível, e as ajudas impedem quedas de pacote de informação durante uma intermitência temporária do tráfego.

Para determinar se seu roteador precisa ter seu buffer sintonizado, use os comandos show interfaces e show buffers.

Se você tem a saída dos comandos show interfaces and show buffers, ou a saída do Suporte técnico da mostra (do modo enable) 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.

Abaixo encontra-se um exemplo da saída do comando show interfaces:

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

  • O “sem buffer” representa o número de pacotes deixados cair porque 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 no conjunto, incluindo os buffers utilizados e os não utilizados.
permanente O número permanente de buffers alocados no conjunto. Estes bufferes estão sempre no pool, e não podem ser aparados afastado.
in free list O número de buffers atualmente disponíveis no conjunto que estão livres para uso.
min O número mínimo de buffers que o roteador deve tentar manter "na lista livre". Se o número de buffers na “lista livre” ficar abaixo do valor mínimo, o roteador deverá tentar criar mais buffers para o pool.
max allowed O número máximo de buffers permitido "na lista livre". Se o número de buffer “na lista livre” é maior do que o valor “permitido” máximo, o roteador deve tentar aparar bufferes do pool.
hits O número de buffers alocados com sucesso a partir da lista livre.
faltas O número de vezes um buffer foi pedido, mas os sem bufferes estão disponíveis na lista livre, ou quando há menos do que bufferes “mínimos” na lista livre.
trims O número de buffers que foram excluídos do pool quando o número de buffers “na lista livre" exceder o número “máximo permitido” de buffers.
criado O número de buffers que foram criados no conjunto quando o número de buffers "in free list" era inferior a "min".
nenhuma memória 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 no roteador.
falhas O número de falhas para conceder um buffer a um solicitante abaixo do tempo de interrupção (lembre-se que o roteador pode criar novos buffers no nível de switching de processo, de modo que a "falha" não ocorre a menos que haja "falta de memória"). O número de "falhas" 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 "na lista livre" é o número de buffers disponíveis. Quando um pedido do buffer entra, um buffer do “na lista livre” está atribuído.

Os bufferes IO são usados para duas razões principal:

  • Para segurar o tráfego que termina no roteador.

  • Quando os pacotes forem processo comutado.

Se há uns sem bufferes, e o interruptor rápido é permitido, há uma falha de buffer e o pacote disponível está deixado cair. Quando o processo do gerenciador de conjunto de buffers detecta uma falha de buffer, “cria” um buffer novo para evitar falhas futuras.

O roteador não cria um buffer novo se o número “na lista livre” iguala o valor “permitido” máximo. Se não há bastante memória no roteador para criar um buffer novo, este está gravado como “nenhuma memória”. Se o número “na lista livre” é maior do que o número “permitido” máximo, o roteador “apara” alguns bufferes adicionais.

O número de “falhas” e “nenhuma memória” 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 apara os buffers conforme necessário para estabilizar o número de falhas. Se o número de falhas continua a aumentar, o ajuste do buffer pôde ser necessário.

Se não há bastante memória para criar bufferes novos, procure um vazamento de buffer, ou um problema de memória mais geral. Os bufferes não são criados no caminho de switching rápido, assim que se o roteador tenta ao fast-switch um pacote e há um sem buffer disponível, o pacote é deixado cair, e uma falha é relatada. Um buffer novo é criado a próxima vez que o gerenciador de conjunto de buffers é executado.

Plataformas de extremidade baixa (Cisco 1600, 2500, and 4000 Series Routers)

Pacotes comutados rápidos e pacotes de processo comutados compartilham os mesmos buffers. Esses buffers ficam na memória compartilhada. A memória compartilhada é ficada situada no ram dinâmica (DRAM) nos Cisco 1600 e 2500 Series Router, ou no ram compartilhada (SRAM) para o Cisco 4000, os 4500, e os 4700 Series Router.

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 switching do processo, mas o pacote não é copiado.

Esta é a saída do comando show buffers em uma plataforma de extremidade baixa (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 conjuntos 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 alguns overheads.

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

Plataformas avançadas (processadores de rota, processadores de Switches, processadores de Switches de silício e processadores de rota/Switch)

Está aqui a saída do comando show buffers em uma plataforma de produto avançado:

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) 

Associações do encabeçamento

Os conjuntos de buffer públicos são ficados situados no DRAM, e chamados bufferes de sistema. A memória compartilhada no Route/Switch Processor (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, salvar no MEMD pelo processador de interface de recepção (exceto no caso do Versatile Interface Processor - VIP). Se não pode ser fast-switched, o pacote inteiro está copiado em um buffer de sistema no DRAM. Consequentemente, os bufferes que você vê no comando show buffers são os bufferes de sistema situados no DRAM.

O comando show controllers cbus mostra os buffers de interface no MEMD. Além disso, não se recomenda para ajustar os bufferes da relação. Quando um pacote não pode ser fast-switched, e é copiado a um buffer de sistema, o pacote está deixado cair, e uma falha é contada se não há nenhum buffer de sistema disponível.

Plataformas baseadas em partícula

Os Cisco 3600 e 7200 Series Routers usam partículas. Os buffers da interface são buffers atômicos, chamados de partículas, nas 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.

Abaixo 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 conjuntos de partícula privada são utilizados pelas interfaces e não devem ser ajustados. Quando nenhum buffer está disponível na lista livre, o roteador volta aos conjuntos de partícula pública.

Os bufferes do encabeçamento são usados para gravar uma lista de todas as partículas que pertencem a um pacote.

Nota: 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 conjuntos 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

Está abaixo 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)

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

O ajuste do buffer é feito somente quando os pacotes não podem ser CEF comutado.

Segundo a arquitetura do roteador, os bufferes que você ajusta pertencem geralmente à memória de E/S (low-end), ou à memória principal (extremidade alta). Antes de ajustar os bufferes, primeira verificação se você tem bastante I/O ou memória principal livre usando as primeiras linhas do comando show memory.

Veja a seguir alguns valores gerais que podem ser usados:

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

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

  • MAX-livre: defina max-free com um valor maior que a some de permanentes e mínimos.

No exemplo acima do ajuste do buffer, nós poderíamos incorporar estes comandos ao modo de configuração global:

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

Normalmente, o software de Cisco IOS� cria bufferes dinamicamente de modo que estes ajustes sejam muito bem. Contudo, em caso de uma intermitência de tráfego, o roteador não pode ter bastante tempo para criar os bufferes novos, e o número de falhas pode continuar a aumentar. Use o comando buffers mudar os ajustes do pool de buffers do padrão. Assegure-se de que as mudanças nos valores de buffer estejam feitas com cuidado desde que os ajustes impróprios do buffer podem afetar o desempenho de sistema. Se você gostaria de cancelar os contadores de buffer, o roteador terá que ser recarregado.

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

  • Intermitência lenta: Neste caso, o roteador tem o tempo suficiente criar bufferes novos. Aumente o número de buffers min-free. Usando buffer livre, você pode alcançar o valor dos livres para o valor mínimo, e cria então bufferes novos.

  • Burst rápido: Com intermitências de tráfego rápidas, o roteador não tem bastante tempo para criar bufferes novos, assim que você deve usar os buffer livre. Para fazer isso, modifique o número de buffers permanentes.

Conclusão: Se o contador da criação aumenta após o ajuste inicial, aumente os livres para o valor mínimo (intermitência lenta). Se o contador de falha aumenta, mas não o contador da criação (explosão rápida), aumente o valor permanente.

Reservando o buffer da tela

Você pode incorporar o comando da buffer-reserva da tela melhorar a taxa de transferência de sistema e reservar os bufferes ASIC.

Este comando é apoiado nestes módulos:

  • WS-X6704-10GE

  • WS-X6748-SFP

  • WS-X6748-GE-TX

  • WS-X6724-SFP

Este comando não é apoiado nos Cisco 7600 Series Router que são configurados com um Supervisor Engine 32.

fabric buffer-reserve [high | low | medium | value]

cuidado Cuidado: Use este comando somente sob a direção do tac Cisco.

Estas são as circunstâncias comuns onde este comando é útil:

  • O protocolo de linha vai para baixo para interfaces múltiplas

  • As excedentes são consideradas em interfaces múltiplas

  • As portas frequentemente saem e juntam-se ao EtherChannel

  • O teste de TestMacNotification falha repetidamente para placas de linha com DFC

Vazamentos de buffer

Abaixo 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 livres. Algo está utilizando todos os buffers e não os está liberando. Para obter mais informações sobre dos vazamentos de buffer, veja vazamentos de buffer do Troubleshooting.

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