Índice
Introdução Pré-requisitos Requisitos Componentes Utilizados ConvençõesSenhoritas e falhas do buffer Pool de buffers
comando Configuration dos bufferes Comandos show adicionais
Informações Relacionadas
Introdução
Este documento discute ausências e falhas do buffer no Processador de Roteamento (RP).
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 a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.
Convenções
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
Proteja senhoritas e falhas
O RP divide sua memória de processador em associações. Cada conjunto contém um número de blocos de memória do mesmo tamanho. Esses blocos de memória são chamados de buffers.
Há seis pool de buffers:
Bufferes dos bytes Small?104
●
Bufferes do byte Middle?600
●
Bufferes do byte Big?1524
●
Bufferes do byte VeryBig?4520
●
Bufferes do byte Large?5024
●
Bufferes do byte Huge?18024
●
Por exemplo, se um processador de interface precisa de passar um pacote de bytes 20 ao RP, ele? pede? para um buffer pequeno. Se um processador de interface precisa de passar um pacote de bytes 500 ao RP, pede um buffer médio, e assim por diante.
Nota: O processador de interface deve pedir um buffer de um determinado tamanho. Quando o processador de interface pede um buffer, este ocorre:
Se existir um buffer livre no conjunto solicitado, ele será concedido. Se não, o pedido gera a? falta? e as tentativas do algoritmo do buffer a? crie? mais bufferes para esse pool.
●
Quando os IO não obtêm um buffer pequeno, não deixa cair o pacote. Incrementa o contrário falhado e cai completamente ao buffer nivelado seguinte, que é o buffer médio e pede um buffer lá. Se não obtém um buffer médio, pede o buffer nivelado seguinte, que é um buffer grande. Este processo continua até que bata o pool de buffer enorme. Se não obtém um buffer enorme, então deixa cair o pacote.
●
Quando você usa o conjunto de recursos IBM, uma falta gera quase sempre uma falha.
●
Embora as características IBM possam ser comutados por processo, o código para conseguir um buffer passar um pacote de uma relação ao RP executa a nível de interrupção.
●
Os bufferes não podem ser criados a nível de interrupção; consequentemente, uma falta enfileira seu pedido para mais bufferes ao RP.
●
Porque um buffer adicional não pode ser criado na hora, o pedido do buffer falha, e o pacote é deixado cair.
●
As falhas de buffer são um dos motivos mais comuns para cancelamento de pacotes. Quando as quedas de pacote de informação ocorrem devido à falha de buffer, esta ocorre:
Após uma falha de buffer, o RP tem uma requisição considerável criar mais bufferes do tamanho apropriado para o pool particular.
●
Quando o RP prestar serviços de manutenção ao pedido dos bufferes da criação, pode haver umas falhas adicionais no pool.
●
O RP pode mesmo não cria mais bufferes, devido aos confinamentos de memória no sistema quando os bufferes extra são exigidos.
●
Essencialmente, a operação dos bufferes da criação poderia tomar diversos microssegundos, em que os pacotes são deixados cair continuamente devido à falha de buffer.
●
Além, se os bufferes são usados tão rapidamente como estão criados, o RP poderia ser forçado a passar mais tempo na criação do buffer do que no processamento do pacote.
●
Isto pode fazer com que o RP comece a deixar cair tão rapidamente pacotes que o desempenho degrada e as sessões estão perdidas.
●
Felizmente, conforme discutido nesse documento, os problemas de falhas de buffer não são difíceis de identificar e resolver. Esta saída do comando show buffers mostra o estado atual do roteador? pool de buffers s:
dspu-7k#show buffersBuffer elements: 500 in free list (500 max allowed) 2370 hits, 0 misses, 0 createdPublic buffer pools:Small buffers, 104 bytes (total 16, permanent 10): 11 in free list (0 min, 10 max allowed) 1770 hits, 33 misses, 22 trims, 28 created 9 failures (0 no memory)Middle buffers, 600 bytes (total 90, permanent 90): 89 in free list (10 min, 200 max allowed) 590 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory)Big buffers, 1524 bytes (total 90, permanent 90): 90 in free list (5 min, 300 max allowed) 126 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, 300 max allowed) 50 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory)Large buffers, 5024 bytes (total 10, permanent 10): 10 in free list (0 min, 30 max allowed) 0 hits, 0 misses, 0 trims, 0 created 0 failures (0 no memory)Huge buffers, 18024 bytes (total 2, permanent 0): 0 in free list (0 min, 13 max allowed) 2 hits, 2 misses, 0 trims, 2 created 0 failures (0 no memory)
Na saída de show buffers:
O total identifica o número total de bufferes no pool, que incluem usado e bufferes não
utilizados.
●
Permanente identifica o número permanente de buffers alocados no pool. Estes bufferes estão sempre no pool e não podem ser aparados afastado.
●
Na lista de livres, identifica o número de buffers que estão atualmente no conjunto e que estão disponíveis para uso.
●
O minuto identifica o número mínimo de bufferes que o RP deve tentar se manter na lista
livre:O parâmetro min é usado para antecipar a demanda do conjunto por buffers em
qualquer momento especificado.Se o número de buffers na lista livre cair abaixo desse valor mínimo, o RP tentará criar mais buffers desse pool.
●
MAX-permitido identifica o número máximo de bufferes que são permitidos na lista livre:O
parâmetro MAX-permitido impede um pool dos bufferes de monopolização que não precisa
anymore. Igualmente livra esta memória de volta ao sistema para um uso mais adicional.Se o número de buffer na lista livre é maior do que o valor MAX-permitido, o RP deve tentar aparar
bufferes do pool.
●
O contador Hits identifica o número de buffers que foram solicitados do conjunto. O contador
de batidas fornece um mecanismo para determinar que pool deve encontrar a procura a mais
alta para bufferes.
●
As senhoritas identificam o número de vezes que um buffer esteve pedido e o RP esteve
detectado em qual os bufferes adicionais do pool foram exigidos. Ou seja o número de buffer na lista livre deixou cair abaixo do nível do minuto. A contagem de ausências representa o
número de vezes que o RP foi forçado a criar buffers adicionais.
●
As guarnições identificam o número de buffer que o RP aparou do pool, quando o número de
buffer na lista livre excedeu o número de bufferes MAX-permitidos.
●
O valor Created (Criados) identifica o número de buffers que foram criados no conjunto. O RP cria bufferes nestas situações:Quando a procura para bufferes aumentar até que o número de buffer na lista livre estiver menos do que os bufferes mínimos.Uma falta ocorre porque há
uns sem bufferes na lista livre.Ambas as situações anterior.
●
As falhas identificam quando os IO não obtêm um buffer pequeno, ele não deixam cair o
pacote. Incrementa o contrário falhado e cai completamente ao buffer nivelado seguinte, que é o buffer médio e pede um buffer lá. Se não obtém um buffer médio, pede o buffer nivelado seguinte, que é um buffer grande. Este processo continua até que bata o pool de buffer enorme. Se não obtém um buffer enorme, então deixa cair o pacote.
●
No memory identifica o número de falhas causadas por memória insuficiente para criar buffers adicionais.
●
(eventualmente) estão encontrando problemas. Os parâmetros para um pool podem ser ajustados para permitir que o roteador esteja preparado melhor para segurar a carga, se o pool parece exibir estas características:
O número de faltas e cria o incremento em uma taxa alta (como uma porcentagem das batidas).
●
Há consistentemente um número baixo de bufferes na lista livre.
●
O número de falhas ou de nenhum incremento de memória.
●
comando Configuration dos bufferes
Com os bufferes comando configuration, você pode ajustar estes parâmetros para cada pool de buffers:
inicial? Bufferes provisórios que são atribuídos no recarregamento do sistema.
●
MAX-livre? Número máximo de buffer livre.
●
livres para o valor mínimo? Número mínimo de buffer livre.
●
permanente? Número de bufferes permanentes.
●
Buffers Iniciais
Ajuste os buffers iniciais para acomodar o burst do tráfego de estabelecimento de sessões depois da recarga do roteador.
buffers small initial 250
Estes bufferes são eventualmente? aparado? e retornado ao sistema.
Os buffers iniciais são projetados para manejar o estabelecimento de sessão, o que é sempre comutado por processo.
Durante o estabelecimento de sessão, o esconderijo fastswitching (usado por outros protocolos da rota) é povoado; os bufferes comutados por processo já não são exigidos e podem ser retornados ao sistema.
Para ajustar bufferes iniciais não pode ser a solução correta para o conjunto de recursos IBM, porque quase todos os pacotes (depois que estabelecimento de sessão) são comutados por processo e exigem a proteção adicional de qualquer maneira.
Nota: Para as características comutados por processo IBM, você deve ajustar bufferes permanentes um pouco do que ajustam os bufferes iniciais provisórios.
Máx. Buffers Livres
Ajuste bufferes MAX-livres de modo que o valor seja igual ou maior do que aos bufferes permanentes. Se todos os bufferes permanentes estão na lista livre, a seguir o RP não deve tentar aparar bufferes permanentes. Max-free pode ser usado para garantir que buffers não utilizados que são criados durante bursts irregulares retornem para a memória do sistema.
buffers small max-free 175buffers small permanent 125
Ajuste bufferes dos livres para o valor mínimo de modo que o valor represente o número mínimo calculado de bufferes exigidos a qualquer hora. Os livres para o valor mínimo podem ser usados para antecipar condições da falha de buffer e para assegurar-se de que um número mínimo de bufferes esteja sempre disponível.
buffers small min-free 50
Buffers permanentes
Ajuste bufferes permanentes de modo que o valor represente o número estimado de bufferes exigidos para o processamento normal.
buffers small permanent 125
Buffers permanentes são usados para acomodar os requisitos de buffers normais (incluindo intermitências freqüentes) do roteador. A determinação das exigências do buffer normal é um processo interativo, onde as saídas de buffer da mostra devam mostrar os bufferes total usados em um pool em um dado momento. Os buffers permanentes deverão ser ajustados em relação ao "total" consistente de buffers necessários. Quando você ajusta bufferes permanentes, você deve centrar-se sobre a redução de cria e a eliminação das faltas e das falhas.
Comandos show adicionais
Há outros dois comandos show que você pode usar para identificar problemas com alocação de buffer:
mostre o identificador de interface das relações
●
show source-bridge
●
Esta mostra conecta o exemplo de saída de comando do identificador de interface inclui um contador para o sem buffer:
dspu-7k#show interfaces channel 4/2Channel4/2 is up, line protocol is up Hardware is cxBus IBM Channel MTU 4472 bytes, BW 98304 Kbit, DLY 100 usec, rely 255/255, load 1/255 Encapsulation CHANNEL, loopback not set, keepalive not set Virtual interface Last input 0:00:04, output 0:00:04, output hang never Last clearing of "show interface" counters never Output queue 0/40, 0 drops; input queue 0/75, 8 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 646 packets input, 27760 bytes, 8 no buffer Received 0 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 328 packets output, 16959 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets, 0 restarts 0 output buffer failures, 0 output buffers swapped out
No comando show interfaces interface-identifier output:
Os incrementos do contador sem buffer quando a relação não obtém um buffer para um
pacote de entrada.
●
O sem buffer e incremento dos contadores das gotas (fila de entrada) quando a relação não
obtém um buffer para um pacote de entrada.
●
Um contador sem buffer que incremente na mostra conecta correlações da saída às faltas
contra essas incrementos na saída de bufferes da mostra. O pool de buffers apropriado pode ser ajustado.
●
Este exemplo de saída de comando da fonte-ponte da mostra inclui um contador de interface para reguladores de pressão, quando a conexão de ligação de rota de origem (SRB) é configurada para a relação:
dspu-7k#show source-bridgeLocal Interfaces: receive transmit srn bn trn r p s n max hops cnt:bytes cnt:bytes dropsCh4/2 666 1 99 * f 7 7 7 652:26020 6:266 0Global RSRB Parameters: TCP Queue Length maximum: 100Ring Group 99: This TCP peer: 150.10.20.2 Maximum output TCP queue length, per peer: 100 Peers: state bg lv pkts_rx pkts_tx expl_gn drops TCP TCP 150.10.20.1 open *3 261 266 0 0 0 TCP 150.10.20.2 - *3 0 0 0 0 0 Rings: bn: 1 rn: 888 locvrt ma: 4000.7000.fff1 Buff Ring888 fwd: 0 bn: 1 RN: 666 local ma: 4000.0c48.2e80 Channel4/2 fwd: 261 bn: 1 RN: 88 remote ma: 4000.4000.fff1 TCP 150.10.20.1 fwd: 322 bn: 1 RN: 250 remote ma: 4000.300f.7c09 TCP 150.10.20.1 fwd: 0Explorers: --- input --- --- output --- spanning all-rings total spanning all-rings totalCh4/2 0 0 0 0 1 1 Local: fastswitched 0 flushed 0 max Bps 256000 rings inputs bursts throttles output drops Ch4/2 0 0 8 0
Na saída do comando show source-bridge.
Os reguladores de pressão opõem incrementos quando a relação não obtém um buffer para
um pacote de entrada.
●
Os reguladores de pressão opõem-se que os incrementos na saída do comando show
interfaces correlacionam ao as faltas contra essas incrementos na saída do comando show
buffers. O pool de buffers apropriado pode ser ajustado.
●
Informações Relacionadas
Buffer ajustando todos os Cisco Routers
●
Suporte Técnico e Documentação - Cisco Systems