Routers : Routers Cisco de la serie 10000

Ajuste del búfer para todos los routers de Cisco

20 Mayo 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (28 Noviembre 2008) | Comentarios

Interactivo: Este documento ofrece un análisis personalizado de su dispositivo Cisco.


Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
Descripción general
Plataformas básicas (Routers de las series 1600, 2500, y 4000 de Cisco)
Plataformas de mayor capacidad (Procesadores de ruta, Procesadores de switches, Procesadores de switches de silicio y Procesadores de ruta/switches)
Plataformas basadas en partículas
Ajuste de los búferes
Fugas de búfer

Introducción

En este documento se proporciona una descripción general del ajuste del búfer en las plataformas actuales y proporciona información general acerca del comando show buffers.

Requisitos previos

Requisitos

No hay requisitos específicos para este documento.

Componentes utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

La información que se presenta en este documento se ha creado a partir de los dispositivos en un entorno específico de laboratorio. Todos los dispositivos que se utilizan en este documento se han puesto en funcionamiento con una configuración despejada (predeterminada). Si está trabajando en una red activa, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.

Convenciones

Si desea obtener más información sobre las convenciones del documento, consulte Convenciones de consejos técnicos de Cisco.

Descripción general

El ajuste del búfer le permite modificar la forma en que el router asigna los búferes desde su memoria disponible, y ayuda a evitar las caídas de los paquetes durante ráfagas de tráfico temporales.

Para determinar si el router necesita que se ajuste el búfer, utilice los comandos show interfaces y show buffers.

Si tiene el resultado del comando show interfaces y del comando show buffers, o la salida del comando show technical-support(desde el modo habilitado) del dispositivo Cisco, podrá utilizar para mostrar posibles problemas y sus soluciones. Para utilizar , debe ser un cliente registrado, estar conectado al sistema y tener JavaScript habilitado.

A continuación, se incluye un ejemplo del resultado del comando show interfaces :

Output queue 0/40, 1041 drops; input queue 0/75, 765 drops
35252345 packets input, 547082589 bytes, 940 no buffer 
  • Las caídas de entrada y salida se deben a que las colas de entrada y salida están desbordadas por una ráfaga de tráfico. Esto no está relacionado con un problema del búfer, sino con un proceso que conmuta la limitación de desempeño.

  • "No buffer" representa el número de paquetes perdidos porque no hay búfer libre para copiar el paquete.

Utilizando el comando show buffers observe el tamaño del búfer correspondiente a la unidad de transmisión máxima (MTU) de la interfaz:

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)

La tabla a continuación explica el resultado:

Palabra clave

Descripción

total

Cantidad total de búferes en el agrupamiento, incluidas lo utilizados y los no utilizados.

permanent

Cantidad permanente de búferes asignados en el agrupamiento. Estos búferes están siempre en el agrupamiento y no pueden ser recortados.

in free list

El número de búferes disponibles actualmente en el agrupamiento que están libres para ser usados.

min

Cantidad mínima de búferes que el router debe intentar mantener “en lista disponible”. Si la cantidad de búferes que está "en lista disponible" cae por debajo de valor mínimo, el router intenta crear más búferes para ese agrupamiento.

max allowed

El número máximo de búferes permitido "en lista disponible". Si la cantidad de búferes permitida "en lista disponible" (in free list) supera el valor “máximo permitido” (max. allowed), el . router intentará recortar búferes del agrupamiento.

hits

El número de búferes satisfactoriamente asignados a partir de la lista disponible.

misses

La cantidad de veces que se ha solicitado un búfer, pero no hay búferes en la lista disponible, o cuando hay menos que la cantidad mínima (min) de búferes en la lista disponible.

trims

La cantidad de búferes que se han recortado del agrupamiento cuando el número de búferes "en lista disponible" (in free list) excede el número “máximo permitido” (max allowed) de búferes.

created

La cantidad de búferes que han sido creados en el agrupamiento cuando la cantidad de búferes que está "en lista disponible" (in free list) era inferior a la cantidad “mínima” (min).

no memory

La cantidad de veces que el router ha intentado crear nuevos búferes, pero no ha podido debido a que no había suficiente memoria libre en el router.

failures

La cantidad de veces que ha fallado el intento de asignar un búfer a un solicitante en tiempo de interrupción (recuerde que el router puede crear nuevos búferes en el nivel de conmutación de procesos, por lo que no ocurren "errores" (failure) a menos que haya "memoria insuficiente" (no memory)). La cantidad de "errores" representa el número de paquetes que se han descartado debido a una falta de búfer.

De qué manera el router gestiona los búferes

La cantidad de búferes que están "en lista disponible" (in free list) es la cantidad de búferes disponibles. Al ingresar una solicitud de búfer, se asigna uno de la “lista disponible” (in free list).

Si no hay búferes disponibles y se habilita la conmutación rápida, se produce un error en el búfer y se descarta el paquete. Cuando el proceso de administración del búfer detecta un error en un búfer, “crea” uno nuevo para evitar futuros errores.

El router no creará un búfer nuevo si el número en la “lista disponible” (in free list) es igual al valor “máximo permitido” (max allowed). Si no hay suficiente memoria en el router para crear un búfer nuevo, esto se registra como “sin memoria” (no memory). Si el número de la “lista disponible” (in free list) es mayor que el número “máximo permitido” (max allowed), el router “recorta” (trims) algunos búferes sobrantes.

La cantidad de “errores” (failures) y registros de “sin memoria” (no memory) son también puntos preocupantes. Pueden ocurrir errores, pero se deberían estabilizar transcurrido un periodo de tiempo. El router crea o recorta búferes según sea necesario, a fin de estabilizar la cantidad de errores. Si la cantidad de errores sigue aumentando, .es probable que se deba realizar el ajuste del búfer.

Si no hay suficiente memoria para crear búferes nuevos, busque una fuga de búfer, o un problema de memoria más general. No es posible crear búferes en el trayecto de conmutación rápida, por lo tanto si el router intenta conmutar un paquete de forma rápida y no hay búfer disponible, se perderá el paquete y se informará del error. Se crea un búfer nuevo la próxima vez que se ejecuta el administrador de agrupamiento de búferes.

Plataformas básicas (Routers de las series 1600, 2500, y 4000 de Cisco)

Los paquetes de conmutación rápida y los paquetes de conmutación por proceso comparten los mismos búferes. Estos búferes se ubican en la memoria compartida. La memoria compartida se encuentra en la memoria RAM dinámica (DRAM) en los routers de las series 1600 y 2500 de Cisco o en en la RAM compartida (SRAM) de los routers de las series 400, 4500 y 4700 de Cisco.

Las primeras líneas del comando show memory le indican la cantidad de memoria compartida que posee, la cantidad que está en uso y su punto más bajo. Cuando no se puede realizar la conmutación rápida de un paquete, se inserta un puntero al paquete en la cola de entrada de conmutación del proceso pero no se copia el paquete.

Aquí se muestra el resultado del comando show buffers en una plataforma de menor capacidad (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

Las interfaces usan los agrupamientos de búferes de la interfaz para entrada/salida (E/S) Cuando ya no hay más búferes en la lista disponible de búferes de la interfaz, el router se dirige a los agrupamientos de búferes públicos como un repliegue. No se ha alcanzado un desempeño para un plan alternativo.

El almacenamiento en la memoria caché es una manipulación del software que acelera la disponibilidad de los búferes para el código controlador del nivel de interrupción omitiendo algunos trabajos adicionales.

Nota: Normalmente, los búferes de las interfaces no deben estar sincronizados.

Plataformas de mayor capacidad (Procesadores de ruta, Procesadores de switches, Procesadores de switches de silicio y Procesadores de ruta/switches)

Aquí se muestra el resultado a del comando show buffers en una plataforma de mayor capacidad:

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) 

Agrupamientos de encabezados (Header Pools)

Los agrupamientos de búferes públicos estándar están ubicados en la DRAM, y se denominan búferes del sistema. La memoria compartida en el Procesador del switch/ruta (RSP) se denomina memoria del paquete del sistema (MEMD) y soporta 2 MB de memoria. En el Procesador de ruta (RP) y el Procesador del switch (SP) (o Procesador de switch de silicio - SSP), los búferes del sistema están ubicados en el RP y el MEMD está ubicado en el SP (o SSP).

Cuando un paquete ingresa, el procesador de interfaz receptora lo guarda en MEMD (excepto en el caso del Procesador de interfaz versátil (VIP). Si no se puede realizar la conmutación rápida, el paquete completo se copia en un búfer del sistema DRAM. Por lo tanto, los búferes que se ven en el comando show buffers son búferes del sistema ubicados en la DRAM.

El comando show controllers cbus muestra los búferes en MEMD. Nuevamente, no es recomendable ajustar los búferes de la interfaz. Cuando no es posible realizar la conmutación rápida de un paquete, y éste se copia en un búfer del sistema, el paquete se pierde y se registra un error si no hay búfer del sistema disponible.

Plataformas basadas en partículas

Los routers de las series Cisco 3600 y 7200 utilizan partículas. Los búferes son memorias intermedias atómicas, llamadas partículas, en las que se dividen los paquetes. Cuando no se puede realizar la conmutación rápida de un paquete, el router tiene que volver a ensamblarlo en un búfer del sistema, porque el código de conmutación del proceso no puede manejar partículas.

A continuación se incluye el resultado del comando show buffers en un router 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

Las interfaces usan agrupamientos de partículas privadas y no deberían ajustarse. Cuando no existe un búfer disponible en la lista disponible, el router cae en los grupos de partículas públicas.

Nota: Los grupos de partículas públicas no pueden ajustarse.

Los búferes del encabezado se utilizan para registrar una lista de todas las partículas pertenecientes a un paquete.

Nota: Los búferes del sistema se utilizan para el procesamiento de la conmutación. En el Cisco 3600, todos esos búferes se encuentran en la memoria E/S que está ubicada en DRAM. Puede especificar la cantidad de memoria E/S que utiliza el comando memory-size iomem. En el router Cisco 7200, los agrupamientos de búferes de partículas de interfaz para los adaptadores de puertos (PA) de ancho de banda alto están ubicados en la SRAM.

Ajuste de los búferes

A continuación se incluye un ejemplo del 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)

En este ejemplo, los búferes presentan muchos errores. Este no es un problema grave, ya que representa sólo el 0,1 % de los aciertos. Estos números deberían mejorar con facilidad con un ajuste de los búferes.

Según la arquitectura del router, los búferes que ajusta generalmente pertenecen a la memoria E/S (menor capacidad), o la memoria principal (mayor capacidad). Antes de ajustar los búferes, compruebe que tenga suficiente memoria E/S o principal libre utilizando las primeras líneas del comando show memory

Aquí hay algunos valores generales que puede utilizar:

  • permanent: Tome la cantidad total de búferes en un agrupamiento y agréguele aproximadamente el 20%.

  • min-free: establezca minutos libres en un 20-30% de la cantidad permanente de búferes asignados en el agrupamiento.

  • max-free: establezca el máximo libre en un valor superior a la suma de permanentes y mínimos.

En el ejemplo de ajuste de búferes anterior, podríamos introducir estos comandos en el modo de configuración global:

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

Normalmente, el software Cisco IOS® crea búferes de manera dinámica, de modo que esta configuración es correcta. Sin embargo, en el caso de una ráfaga de tráfico, es probable que el router no tenga tiempo suficiente para crear el nuevo búfer, y la cantidad de errores siga aumentando. Utilice el comando buffers para cambiar la configuración predeterminada del agrupamiento de búferes. Asegúrese de realizar los cambios en los valores del búfer con cuidado ya que la configuración incorrecta del búfer puede afectar al desempeño del sistema. Si desea borrar los contadores del búfer, deberá volver a cargar el router.

Existen dos tipos de ráfagas de tráfico:

  • Ráfaga lenta: En este caso, el router tiene tiempo suficiente para crear búferes nuevos. Aumente la cantidad mínima de búferes libres. Si utiliza búferes libres, puede alcanzar el valor libre mínimo, y luego crear búferes nuevos.

  • Ráfaga rápida: Con las ráfagas rápidas, el router no tiene suficiente tiempo para crear búferes nuevos, por lo tanto debería utilizar los búferes libres. Para ello, modifique el número de búferes permanentes.

Conclusión: Si aumenta el valor del contador de creaciones después del ajuste inicial, aumente los minutos libres (ráfaga lenta). Si aumenta el contador de errores, pero no lo hace el contador de creaciones (ráfaga rápida), aumente el valor permanente (permanent).

Fugas de búfer (Buffer Leaks)

A continuación presentamos un ejemplo del resultado del 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) 

Este resultado indica una fuga de búfer en el agrupamiento de búferes grandes. Hay un total de 1556 búferes grandes en el router y sólo 52 están en la lista disponible. Algún proceso está ocupando todos los búferes y no los está liberando. Para más información acerca de fugas de búfer, consulte Troubleshooting Buffer Leaks (Resolución de problemas de fugas de búfer).


Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 15091