El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe una descripción general del ajuste del buffer basado en las plataformas actuales y brinda información general sobre el comando show buffers.
No hay requisitos específicos para este documento.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.
El ajuste del búfer le permite modificar la forma en que un router asigna los búferes de su memoria disponible y le ayuda a evitar caídas de paquetes durante una ráfaga de tráfico temporal.
Para determinar si su router necesita que se le ajuste la memoria intermedia, utilice los comandos show interfaces y show buffers.
Si tiene la salida de los comandos show interfaces y show buffers, o la salida de show technical-support (desde el modo de habilitación) desde su dispositivo Cisco, puede utilizar Cisco CLI Analyzer para visualizar los posibles problemas y las 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 búfer, sino con una limitación del rendimiento de conmutación 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 siempre están en la agrupación 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 | La cantidad mínima de memorias intermedias que el router debería 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 | La cantidad maxima de buffers permitidos "en lista libre." Si el número de memorias intermedias "en lista libre" es mayor que el valor "máximo permitido", el router debería intentar recortar las memorias intermedias del conjunto. |
aciertos | El número de memorias intermedias satisfactoriamente asignadas a partir de la lista disponible. |
desaciertos | La cantidad de veces que se ha solicitado un buffer, pero no hay buffers disponibles en la lista libre, o cuando hay menos buffers "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" era menor que "mín." |
sin memoria | 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 de elementos disponibles".
Las memorias intermedias del IOS® de Cisco se utilizan por dos razones principales:
Para gestionar el tráfico que termina en el router.
Cuando los paquetes están siendo conmutados por proceso.
Si no hay búferes disponibles, y se habilita el fast switching, hay una falla de buffer y el paquete se descarta. Cuando el proceso del administrador del conjunto de búferes detecta una falla del búfer, "crea" un nuevo búfer para evitar futuras fallas.
El router no crea un nuevo búfer si el número "en lista libre" es igual al valor "máximo permitido". Si no hay suficiente memoria en el router para crear un nuevo búfer, 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úferes excedentes.
El número de "fallos" y "falta de memoria" son las únicas esferas 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 fallos sigue aumentando, puede ser necesario ajustar el búfer.
Si no hay suficiente memoria para crear nuevos búferes, busque una fuga de memoria intermedia o un problema de memoria más general. Los búferes no se crean en el trayecto de conmutación rápida, 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 grupo de búferes.
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 la RAM dinámica (DRAM) en los routers de las series 1600 y 2500 de Cisco, o en la RAM compartida (SRAM) para los routers de las series 4000, 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.
É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, los búferes de interfaz no se deben ajustar.
Aquí está el resultado del comando show buffers en una plataforma de alto nivel:
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 agrupamientos 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 un paquete ingresa, es guardado en MEMD por el procesador de interfaz de recepción (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 ve 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. Una vez más, no se recomienda ajustar las memorias intermedias de la interfaz. Cuando un paquete no se puede conmutar rápidamente y se copia en un búfer del sistema, el paquete se descarta y se cuenta una falla si no hay un búfer del sistema disponible.
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.
Los búferes de 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.
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 intermedias tienen muchas fallas. Éste no es un problema grave, ya que representa sólo el 0.1 % de los aciertos. Estas cifras 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, las memorias intermedias que se ajustan generalmente pertenecen a la memoria de E/S (gama baja) o a la memoria principal (gama alta). Antes de ajustar las memorias intermedias, verifique si tiene suficiente memoria principal o E/S libre 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 anterior de ajuste del búfer, 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 estos ajustes estén bien. Sin embargo, en caso de una ráfaga de tráfico, es posible que el router no tenga tiempo suficiente para crear las nuevas memorias intermedias y que el número de fallas continúe aumentando. Utilice el comando buffers para cambiar la configuración predeterminada del conjunto de búferes. Asegúrese de que los cambios en los valores del búfer se realizan con precaución, ya que una configuración incorrecta del búfer puede afectar al rendimiento del sistema. Si desea borrar los contadores de memoria intermedia, 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 nuevas memorias intermedias. Aumente la cantidad mínima de memorias intermedias libres. Mediante el uso de búferes libres, puede alcanzar el valor libre mínimo y, a continuación, crear nuevos búferes.
Ráfaga rápida: Con las ráfagas de tráfico rápidas, el router no tiene tiempo suficiente para crear nuevas memorias intermedias, por lo que debe utilizar las memorias intermedias libres. Para ello, modifique el número de almacenes permanentes.
Conclusión: Si el contador de creación aumenta después del ajuste inicial, aumente el valor de libre de minutos (ráfaga lenta). Si el contador de fallos aumenta, pero no el contador de creación (ráfaga rápida), aumente el valor permanente.
Puede ingresar el comando fabric buffer-reserve para mejorar el rendimiento del sistema y reservar los búferes 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 que se configuran con 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 deja de funcionar para varias interfaces
Los desbordamientos se observan en múltiples interfaces
Los puertos salen y se unen a EtherChannel con frecuencia
La prueba TestMacNotification falla repetidamente para las tarjetas de línea con DFC
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 fugas de búfer, vea Solución de problemas de fugas de búfer.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
14-Dec-2001 |
Versión inicial |