Contenido

Introducción

Prerequisites

Requirements

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 la memoria intermedia

Reserva de búfer de fabric

Fugas de memoria intermedia

Información Relacionada

Introducción

Este documento proporciona una descripción general del ajuste de la memoria intermedia basado en las plataformas actuales, y proporciona información general sobre el comando show buffers.

Prerequisites

Requirements

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 originó a partir de dispositivos dentro de un ambiente de laboratorio específico. All of the devices used in this document started with a cleared (default) configuration. Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener un comando antes de ejecutarlo.

Convenciones

Para 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 manera en que un router asigna los búfers de su memoria disponible y ayuda a evitar las caídas de paquetes durante una ráfaga temporal de tráfico.

Para determinar si su router necesita que se le ajuste la memoria intermedia, utilice los comandos show interfaces y show buffers.

Si tiene el resultado de los comandos show interfaces y show buffers, o el resultado de show technical-support (desde el modo de habilitación) de su dispositivo Cisco, puede utilizar el Analizador de Cisco CLI para mostrar posibles problemas y soluciones. Para utilizar la herramienta Analizador Cisco CLI, debe ser un cliente registrado, iniciar sesión y tener JavaScript habilitado.

A continuación hay 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 de buffer, sino con una limitación del rendimiento de switching de procesos.

- "Sin búfer" representa el número de paquetes descartados porque no hay búfer libre para copiar el paquete.

Mediante el comando show buffers, controle el tamaño de la memoria intermedia 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 memorias intermedias en la agrupación, incluidas memorias intermedias utilizadas y sin utilizar.

permanente

Cantidad permanente de memorias intermedias asignadas en el agrupamiento. Estas memorias intermedias están siempre en el conjunto y no se pueden recortar.

en lista libre

El número de búferes disponibles actualmente en la agrupación que están libres para ser usados.

mín

El número mínimo de memorias intermedias que el router debe intentar mantener "en lista libre". Si la cantidad de memorias intermedias “en la lista disponible” cae por debajo del valor “mínimo”, el router intenta crear más para esa agrupación.

máx. permitido

El número máximo de búfers permitidos "en lista libre". Si el número de memorias intermedias "en lista libre" es mayor que el valor "máx. permitido", el router debe intentar recortar las memorias intermedias del conjunto.

aciertos

El número de memorias intermedias satisfactoriamente asignadas a partir de la lista disponible.

desaciertos

El número de veces que se ha solicitado un búfer, pero no hay búfers disponibles en la lista libre, o cuando hay menos búfers "min" en la lista libre.

recortes

El número de memorias intermedias que han sido recortadas del conjunto cuando el número de memorias intermedias "en lista disponible" supera el número de memorias intermedias "máximas permitidas".

creado

El número de memorias intermedias que se han creado en el conjunto cuando el número de memorias intermedias "en lista libre" fue menor que "min."

no memory

La cantidad de veces que el router intentó crear nuevos búfers pero no pudo debido a que no había suficiente memoria libre en el router.

fallas

La cantidad de veces que falló el intento de asignar un búfer a un solicitante en tiempo de interrupción (recuerde que el router puede crear nuevos búfers en la conmutación de procesos, por lo que no ocurren "fallas" a menos que haya "memoria insuficiente"). La cantidad de "fallas" representa el número de paquetes que se perdieron debido a una falta de memoria intermedia.

De qué manera las memorias intermedias son manipuladas por el router

La cantidad de búfers que están "en lista libre" es la cantidad de búfers disponibles. Cuando se recibe una solicitud de búfer, se asigna un búfer de la "lista en espera".

Las memorias intermedias del IOS se utilizan por dos razones principales:

- Para manejar el tráfico que termina en el router.

- Cuando los paquetes se están procesando conmutados.

Si no hay búferes disponibles y se habilita el fast switching, hay una falla en el buffer y el paquete se pierde. Cuando el proceso del administrador del conjunto de búfer detecta una falla del búfer, "crea" un nuevo búfer para evitar futuras fallas.

El router no crea un búfer nuevo si el número "en lista libre" es igual al valor "máx. permitido". Si no hay suficiente memoria en el router para crear un búfer nuevo, esto se registra como "sin memoria". Si el número "en lista libre" es mayor que el número "máximo permitido", el router "recorta" algunos búfers excedentes.

El número de "fallos" y "sin memoria" son los únicos motivos de preocupación. Pueden ocurrir fallas, pero éstas se deberían estabilizar luego de un rato. El router crea o recorta memorias intermedias según lo necesario, a fin de estabilizar la cantidad de fallas. Si el número de fallas continúa aumentando, puede que sea necesario ajustar el búfer.

Si no hay suficiente memoria para crear nuevos búfers, busque una fuga de memoria intermedia, o un problema de memoria más general. Los búferes no se crean en la trayectoria de fast switching, por lo que si el router intenta conmutar rápidamente un paquete y no hay búfer disponible, el paquete se descarta y se informa de una falla. Se crea un nuevo búfer la próxima vez que se ejecute el administrador del conjunto de búfer.

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úfers. Estos búferes se ubican en la memoria compartida. La memoria compartida se encuentra en RAM dinámica (DRAM) en los routers Cisco de las series 1600 y 2500, o en RAM compartida (SRAM) para los routers Cisco de las series 4000, 4500 y 4700.

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.

Éste es 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 las agrupaciones de búfers de interfaz para entrada/salida (I/O). Cuando ya no hay más memorias intermedias en la lista disponible de memorias intermedias de la interfaz, el router se dirige a los agrupamientos de memorias intermedias públicas como un repliegue. No se ha alcanzado un rendimiento para un repliegue.

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

Nota: Normalmente, las memorias intermedias de la interfaz no se deben ajustar.

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

A continuación se muestra el resultado del comando show buffers en una plataforma de 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)

Conjuntos de encabezados

Los grupos de memoria intermedia públicos se encuentran en la DRAM y se denominan memorias intermedias del sistema. La memoria compartida en el Procesador del switch/ruta (RSP) se denomina Memoria del paquete del sistema (MEMD) y admite 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úfers del sistema están ubicados en el RP y el MEMD está ubicado en el SP (o SSP).

Cuando entra un paquete, el procesador de interfaz de recepción lo guarda en MEMD (excepto en el caso del Procesador de interfaz versátil - VIP). Si no se puede conmutar rápidamente, todo el paquete se copia en un búfer del sistema en la DRAM. Por lo tanto, las memorias intermedias que se ven en el comando show buffers son las memorias intermedias del sistema ubicadas en la DRAM.

El comando show controllers cbus le muestra las memorias intermedias de la interfaz en MEMD. De nuevo, no se recomienda ajustar los búfers de interfaz. Cuando un paquete no se puede conmutar rápidamente y se copia en un búfer del sistema, se descarta el paquete y se cuenta una falla si no hay memoria intermedia del sistema disponible.

Plataformas basadas en partículas

Los routers de las series Cisco 3600 y 7200 utilizan partículas. Las memorias intermedias son memorias intermedias atómicas, llamadas partículas, en las que se dividen los paquetes. Cuando un paquete no puede conmutarse de manera rápida, 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 muestra el resultado del comando show buffers en un 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 una memoria intermedia disponible en la lista disponible, el router cae en los agrupamientos de partículas públicas.

Las memorias intermedias del encabezado se utilizan para registrar una lista de todas las partículas que pertenecen a un paquete.

Nota: Las memorias intermedias del sistema se utilizan para la conmutación de procesos. En el Cisco 3600, todos estos búfers están en la memoria I/O que se ubica en la DRAM. Puede especificar la cantidad de memoria de I/O con el comando memory-size iomem. En el Cisco 7200, los agrupamientos de memoria intermedia de partículas de interfaz para los adaptadores de puertos (PA) de ancho de banda alto están ubicados en la SRAM.

Ajuste de la memoria intermedia

A continuación se muestra 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, las memorias intermedias tienen muchos errores. Éste no es un problema grave, ya que representa sólo el 0.1 % de los aciertos. Estos números deben mejorarse fácilmente con algunos ajustes del búfer.

El ajuste del búfer se realiza solamente cuando los paquetes no se pueden conmutar CEF.

Dependiendo de la arquitectura del router, los búferes que ajuste generalmente pertenecen a la memoria de E/S (de gama baja) o a la memoria principal (de gama alta). Antes de ajustar las memorias intermedias, verifique primero si tiene suficiente E/S libre o memoria principal usando las primeras líneas del comando show memory.

Aquí hay algunos valores generales que puede utilizar:

- permanente: Tome la cantidad total de búfers en un agrupamiento y agréguele aproximadamente el 20%.

- min-free: establezca min-free en un 20-30% de la cantidad permanente de búfers 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 del búfer anterior, podríamos ingresar 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 dinámicamente para que estas configuraciones estén bien. Sin embargo, en el caso de una ráfaga de tráfico, es posible que el router no tenga tiempo suficiente para crear las nuevas memorias intermedias, y el número de fallas puede seguir aumentando. Utilice el comando buffers para cambiar la configuración predeterminada del conjunto de memoria intermedia. Asegúrese de que los cambios en los valores del búfer se realizan con precaución, ya que la configuración incorrecta del búfer puede afectar al rendimiento del sistema. Si desea borrar los contadores del búfer, el router tendrá que volver a cargarse.

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

- Ráfaga lenta: En este caso, el router tiene tiempo suficiente para crear nuevos búfers. Aumente la cantidad mínima de memorias intermedias libres. Mediante el uso de búfers libres, puede alcanzar el valor mínimo libre y, a continuación, crear nuevos búferes.

- Ráfaga rápida: Con ráfagas de tráfico rápidas, el router no tiene suficiente tiempo para crear nuevos búferes, por lo que debe utilizar los búferes libres. Para ello, modifique el número de almacenes permanentes.

Conclusión: Si el contador de creación se incrementa después del ajuste inicial, aumente el número mínimo libre (ráfaga lenta). Si el contador de fallas aumenta, pero no el contador de creación (ráfaga rápida), aumente el valor permanente.

Reserva de búfer de fabric

Puede ingresar el comando fabric buffer-reserve para mejorar el rendimiento del sistema y reservar las memorias intermedias ASIC.

Este comando se soporta en estos módulos:

- WS-X6704-10GE

- WS-X6748-SFP

- WS-X6748-GE-TX

- WS-X6724-SFP

Este comando no se soporta en los Cisco 7600 Series Routers configurados con un Supervisor Engine 32.

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

Precaución: Utilice este comando sólo bajo la dirección del TAC de Cisco.

Estas son circunstancias comunes en las que este comando es útil:

- El protocolo de línea se desactiva para varias interfaces

- Se ven desbordamientos en varias interfaces

- Los puertos suelen salir y unirse a EtherChannel

- La prueba TestMacNotification falla repetidamente para las tarjetas de línea con DFC

Fugas de memoria intermedia

A continuación se presenta un ejemplo de la salida 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 memoria intermedia en el agrupamiento de memorias intermedias grandes. Hay un total de 1556 memorias intermedias grandes en el router y sólo 52 están en la lista de libre. Algún proceso está ocupando todas las memorias intermedias y no las está liberando. Para obtener más información sobre las fugas del búfer, vea Solución de Problemas de Fugas del Búfer.

Información Relacionada

- Resolución de problemas de la memoria

- Resolución de problemas de fuga de memoria intermedia

- Comandos de administración básica del sistema

- Modificación del Tamaño del Buffer del Sistema

- Soporte Técnico - Cisco Systems