Software Cisco IOS y NX-OS : Software Cisco IOS versión 12.1 Mainline

Resolución de problemas de la memoria

18 Octubre 2015 - Traducción Automática
Otras Versiones: PDFpdf | Traducción Manual (19 Mayo 2008) | Inglés (24 Agosto 2015) | Comentarios


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


Contenido


Introducción

Este documento explica los síntomas y las posibles causas de falla de asignación de memoria (MALLOCFAIL) y ofrece las pautas para resolución de problemas de la memoria.

prerrequisitos

Requisitos

No hay requisitos específicos para este documento.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

  • Todas las versiones de software del � del Cisco IOS

  • Todos los routers Cisco

    Nota: Este documento no aplica al Cisco Catalyst el Switches que utiliza CatOS o las plataformas MGX.

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 la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Convenciones

Consulte Convenciones de Consejos TécnicosCisco para obtener más información sobre las convenciones del documento.

¿Qué significa falla de asignación de memoria?

La falla de asignación de memoria significa cualquiera:

  • El router ha utilizado toda la memoria disponible (temporal o permanentemente) o

  • La memoria se ha fragmentado en trozos tan pequeños que el router no puede encontrar un bloque utilizable disponible. Esto puede ocurrir con la memoria del procesador (utilizada por el sistema operativo de Internet de Cisco [IOS]) o con la memoria del paquete (utilizada por los paquetes entrantes y salientes).

Síntomas

Los síntomas de falla de asignación de memoria incluyen, pero no se limitan a:

  • La consola o el mensaje del registro: "%SYS-2-MALLOCFAIL: Falló la asignación de memoria de 1028 bytes de 0x6015EC84, procesador de agrupaciones, alineación 0

  • Sesiones Telnet denegadas

  • Se muestra el comando show processor memory, independientemente del comando ingresado en una consola

  • Ninguna salida de algunos comandos show

  • “Bajo en mensajes de la memoria”

  • El mensaje de la consola “incapaz de crear el EXEC - ninguna memoria o demasiados procesos”

  • Router colgado, ninguna respuesta de la consola.

“Incapaz de crear error del EXEC” o cuando no responde la consola

Cuando un router es bajo en la memoria, a veces no es posible a Telnet al router. En este momento, es importante conseguir el acceso al puerto de la consola recoger los datos para localizar averías. Al conectar con el puerto de la consola, sin embargo, usted puede ser que vea esto:

%% Unable to create EXEC - no memory or too many processes

Si usted ve el mensaje antedicho, hay ni siquiera suficiente memoria disponible a tener en cuenta una conexión de consola. Hay camina usted puede tomar para permitir a la captura de datos a través de la consola. Si usted ayuda al router libre una cierta memoria, la consola puede responder, y usted puede entonces capturar los datos necesarios del router para localizar averías.

Nota: Si el Border Gateway Protocol (BGP) se configura en el router, usted debe referirse alcanza el ruteo óptimo y reduce el consumo de memoria de BGP para reducir la consumición de la memoria relacionada con este proceso.

Éstos son los pasos para que el intentar capture los datos usando el puerto de la consola bajo mismo condiciones de memoria bajas:

  1. Desconecte el LAN y los cables PÁLIDOS de las interfaces en el router. Esto hará al router parar el pasar de los paquetes.

  2. Vuelva a inspeccionar la consola. Es usted capaz de conseguir una respuesta y de ejecutar los comandos? Después de unos momentos, debe haber bastante memoria disponible permitir que la consola responda.

  3. Recoja la información requerida del modo EXEC privilegiado (Router-). Al mínimo, usted quiere recoger el resultado completo de los siguientes comandos: muestre los totales del afectar un aparato-proceso de la memoria (o muestre el memory summary si los totales del afectar un aparato-proceso de la memoria de la demostración no están disponibles), muestre el registro, y si es posible, muestre el Soporte técnico.

  4. Después de que usted haya recogido los datos necesarios, vuelva a conectar todo el LAN y links PÁLIDOS y continúe monitoreando el uso de la memoria del router.

Comprensión del mensaje de error

Cuando ejecuta un comando show logging, debería ver algo como esto:

%SYS-2-MALLOCFAIL: Memory allocation of [X] bytes failed from
0x6015EC84, pool [Pool], alignment 0 -Process= 
"[Process]" ipl= 6, pid=5

[X] = la cantidad de bytes que el router intentó pero no pudo asignar por no contar con memoria libre suficiente

[Agrupación] indica si es afectada la memoria del procesador (Procesador de agrupaciones) o la memoria de paquete (agrupación I/O). Los routers de mayor capacidad (series 7000 y 7500) tienen sus memorias intermedias en la memoria RAM dinámica (DRAM), de manera que la falta de memoria de paquetes se informará como "procesador de agrupaciones". Las tarjetas de la serie 7200 y las tarjetas VIP (procesador de interfaz versátil) también pueden informar errores en la agrupación de información de control de protocolos (‘agrupación de PCI') para la memoria de paquetes.

[Process] es el proceso afectado por la falta de memoria.

Posibles Causas

En la memoria del procesador ("Procesador de agrupaciones" en todas las plataformas)

El tamaño de la memoria no soporta la imagen de software del IOS de Cisco

Error de funcionamiento de fuga de memoria

Gran cantidad de memoria usada para procesos normales o anormales

Error de funcionamiento o problema de fragmentación de la memoria

Falla en la asignación de memoria en el proceso = <nivel de interrupción>

Problemas conocidos

Problema sabido 70x0 al cargar el Cisco IOS Software grande del Flash o de Netboot

Entrada IP y detección de los CiscoWorks UT

En memoria de paquete ("I/O" o " Processor" en routers de mayor capacidad, "PCI" en serie 7200 y tarjetas VIP)

Memoria compartida insuficiente para las interfaces

Error de fuga en memoria intermedia

El router no cuenta con la memoria rápida suficiente

Resolución de problemas

Problema relacionado con la seguridad

Comúnmente, los errores MALLOCFAIL son causados por un problema de seguridad, tal como un gusano o un virus que actúa en su red. Esto es especialmente probable ser la causa si no ha habido cambios recientes a la red, tal como una actualización de Cisco IOS del router. En general, los cambios de configuración, como el agregado de líneas adicionales a las listas de acceso, pueden mitigar los efectos de este problema. La página de los Security Advisory y Avisos del producto de Cisco contiene la información sobre la detección de las causas más probable y de las soluciones alternativas específicas.

Para la información adicional, refiérase:

El tamaño de la memoria no soporta la imagen de software del IOS de Cisco

Primero, marque la área de software de la descarga (clientes registrados solamente) para los tamaños mínimos de memoria para el conjunto de características y la versión que usted está funcionando con. Aseegurelos es suficiente. Los requisitos de memoria en el cisco.com son los tamaños recomendados mínimo para el funcionamiento correcto del router en la mayoría de las redes de la compañía. Los requisitos de memoria reales varían según los protocolos, las tablas de ruteo, y los patrones de tráfico.

Error de funcionamiento de fuga de memoria

Si usted tiene la salida de un comando show memory allocating-process totals, de un comando show memory summary, o del comando show technical-support (en el enable mode) de su dispositivo de Cisco, usted puede utilizar el Output Interpreter (clientes registrados solamente) para visualizar los problemas potenciales y los arreglos. Para usar Output Interpreter (sólo para clientes registrados), debe estar registrado como cliente, conectado y tener habilitado JavaScript.

Una fuga de memoria ocurre cuando un proceso pide o afecta un aparato la memoria y después olvida liberar (liberar espacio) la memoria cuando se acaba con esa tarea. Como resultado, se reserva el bloque de memoria hasta que se recarga el router. En un cierto plazo, los bloques de memoria son afectados un aparato cada vez más por ese proceso hasta que no haya memoria libre disponible. En este momento y dependiendo de la gravedad de la situación de escasa memoria, la única opción que tiene es cargar nuevamente el router para que funcione nuevamente.

Éste es un error de funcionamiento del sistema operativo de Internet de Cisco (IOS). Para librarse de él, actualización a la última versión de su tren de versión (por ejemplo, si usted está funcionando con el Cisco IOS Software Release 11.2(14), actualización a la última 11.2(x) imagen.

Si esto no soluciona el problema, o si usted no quiere actualizar al router, ingrese el comando show processes memory en los intervalos regulares durante un período de tiempo (por ejemplo, cada pocas horas o días dependiendo de si usted tiene un rápido o una fuga lenta). Marque para ver si la memoria libre continúa disminuyendo y nunca se vuelve. La velocidad en que la memoria libre desaparece depende de la frecuencia con que ocurre el evento que ocasiona la pérdida. Dado que la memoria no se libera nunca, puede rastrear el proceso que utiliza la memoria al tomar instantáneas de ésta con el transcurso del tiempo. Tenga presente que los procesos diferentes afectan un aparato y cancelar la asignación de la memoria según las necesidades, así que usted verá las diferencias, pero como el escape continúa, usted debe ver un proceso que esté consumiendo continuamente más memoria (nota: es normal para algunos procesos, tales como router del Border Gateway Protocol (BGP) o del Open Shortest Path First (OSPF), utilizar más de un megabyte de memoria; esto no significa que se están escapando).

Para identificar el proceso que consume más memoria, compare la columna Holding (Espera) del comando show processes memory con el intervalo de tiempo. En ocasiones, puede ver claramente que un proceso retiene varios megabytes de memoria. A veces toma diversas instantáneas para encontrar la interferencia. Cuando una cantidad significativa de memoria se ha perdido, recoja un comando show memory allocating-process totals o un comando show memory summary para el Troubleshooting adicional. Después entre en contacto el Centro de Asistencia Técnica de Cisco (TAC) y proporcione la información que usted recogió, junto con un resumen del Soporte técnico de la demostración del router.

La herramienta del Output Interpreter permite que usted reciba un análisis del comando show memory allocating-process totals o que muestre la salida del memory summary.

La tabla da las primeras tres líneas del comando show memory summary hecho salir:

Router>show memory summary 

            Head       Total (b)   Used (b)  Free (b)   Lowest (b)  Largest (b)
Processor   60AB4ED0   5550384     2082996   3467388    3464996     3454608
I/O         40000000   16777216    1937280   14839936   14839936    14838908

El total = la cantidad total de memoria disponible después de la imagen del sistema carga y construye sus estructuras de datos.

Utilizado = la cantidad de memoria afectada un aparato actualmente.

Libre = la cantidad de memoria actualmente libre.

Lo más bajo posible = la mínima cantidad de memoria libre registrada por el router puesto que era la más reciente iniciada.

Largest= el bloque de memoria más grande actualmente disponible.

El comando show memory allocating-process totals contiene la misma información que las primeras tres líneas del comando show memory summary.

Esto es lo que puede conocer a través del resultado del comando show processes memory:

Router>show processes memory 
Total: 3149760, Used: 2334300, Free: 815460

PID   TTY   Allocated    Freed      Holding    Getbufs    Retbufs   Process
0     0     226548       1252       1804376    0          0         *Initialization*
0     0     320          5422288    320        0          0         *Scheduler*
0     0     5663692      2173356    0          1856100    0         *Dead*
1     0     264          264        3784       0          0         Load Meter
2     2     5700         5372       13124      0          0         Virtual Exec
3     0     0            0          6784       0          0         Check heaps
4     0     96           0          6880       0          0         Pool Manager
5     0     264          264        6784       0          0         Timers
6     0     2028         672        8812       0          0         ARP Input
7     0     96           0          6880       0          0         SERIAL A' detect
8     0     504          264        7024       0          0         ATM ILMI Input
9     0     0            0          6784       0          0         ILMI Process
10    0     136          0          6920       0          0         M32_runts pring
11    0     136          0          6920       0          0         Call drop procs
12    0     340          340        12784      0          0         ATMSIG Timer
13    0     445664       442936     13904      0          0         IP Input
14    0     2365804      2357152    17992      0          0         CDP Protocol
15    0     528          264        7048       0          0         MOP Protocols
16    0     188          0          9972       0          0         IP Background
17    0     0            1608       6784       0          0         TCP Timer
18    0     5852116      0          14236      0          0         TCP Protocols

Asignado = la cantidad total de bytes asignados por el proceso desde el reinicio del router.

Liberados = cantidad total de bytes liberados en este proceso.

El sostenerse = la cantidad total de bytes celebrada actualmente por este proceso. Esta es la columna más importante para la solución de problemas ya que muestra la cantidad real de memoria que se atribuye a este proceso. Poner en espera no siempre es equivalente a Asignadas menos Liberadas dado que algunos procesos asignan un bloque de memoria que luego se devuelve a la agrupación disponible por medio de otro proceso.

El proceso del *Dead*

El proceso del *dead* no es un proceso real. Está allí explicar la memoria afectada un aparato bajo contexto de otro proceso que ha terminado. La memoria afectada un aparato a este proceso es reclamada por el corazón y vuelta al agrupamiento de memoria por el router sí mismo cuando sea necesario. Ésta es la manera que el IOS maneja la memoria. Un bloque de memoria se considera como muertos si el proceso que creó el bloque sale (no más ejecutándose). Cada bloque no pierde de vista el direccionamiento y el pid del proceso que lo creó. Durante la memoria periódica que marca, si el proceso que el planificador de trabajos descubre de un pid del bloque no hace juego el proceso que el bloque recordado, el bloque se marca como muertos.

Por lo tanto, la memoria marcada como pertenecer para procesar el *Dead* fue afectada un aparato bajo el control de un proceso que se ejecuta no más. Es normal tener una parte significativa de memoria en tal estado. Aquí tiene un ejemplo:

Se afecta un aparato la memoria al configurar el Network Address Translation (NAT) durante una sesión telnet. Esa memoria se explica bajo proceso de Telnet (“EXEC virtual”). Una vez que se termina este proceso, la memoria para la configuración del NAT es todavía funcionando. Esto se muestra usando el proceso del *dead*.

Usted puede ver bajo qué contexto fue afectada un aparato la memoria usando el comando show memory dead, bajo “qué” columna:

Router#show memory dead 
               Head   Total(b)    Used(b)    Free(b)  Lowest(b) Largest(b) 
      I/O    600000    2097152     461024    1636128    1635224    1635960 
  
          Processor memory 
  
 Address  Bytes Prev.    Next     Ref  PrevF   NextF   Alloc PC  What 
1D8310       60 1D82C8   1D8378     1                  3281FFE   Router Init 
2CA964       36 2CA914   2CA9B4     1                  3281FFE   Router Init 
2CAA04      112 2CA9B4   2CAAA0     1                  3A42144   OSPF Stub LSA RBTree 
2CAAA0       68 2CAA04   2CAB10     1                  3A420D4   Router Init 
2ED714       52 2ED668   2ED774     1                  3381C84   Router Init 
2F12AC       44 2F124C   2F1304     1                  3A50234   Router Init 
2F1304       24 2F12AC   2F1348     1                  3A420D4   Router Init 
2F1348       68 2F1304   2F13B8     1                  3381C84   Router Init 
300C28      340 300A14   300DA8     1                  3381B42   Router Init 

Si se detecta una fuga de memoria, y el proceso del *Dead* parece ser el que está que consume la memoria, incluya un show memory dead en la información proporcionada al TAC de Cisco.

Gran cantidad de memoria usada para procesos normales o anormales

Esta es una de las causas más difíciles de verificar. El problema se caracteriza por una gran cantidad de memoria libre, pero un valor bajo en la columna "Más baja". En este caso, un evento normal o anormal (por ejemplo, una gran inestabilidad de ruteo) hace que el router emplee una gran cantidad de memoria de procesador para un breve lapso de tiempo durante el cual la memoria se ha agotado. Durante ese período, el router informa sobre MALLOCFAIL. Puede ocurrir que poco tiempo después, se libere la memoria y desaparezca el problema (por ejemplo, la red se estabiliza). La insuficiencia de memoria puede deberse también a la combinación de factores, como:

  • una pérdida de memoria que ha consumido una gran cantidad de memoria y después una inestabilidad de memoria fuerza la memoria libre a cero.

  • el router no tiene suficiente memoria para comenzar, pero el problema se detecta sólo durante un evento de red poco frecuente.

Si no reiniciaron al router, ingrese el comando show memory allocating-process totals (o el memory summary de la demostración si los totales del afectar un aparato-proceso de la memoria de la demostración no están disponibles) y la mirada en las primeras tres líneas. Los mensajes de registro pueden proporcionar pistas para saber qué proceso estaba consumiendo tanta memoria:

Si es grande el uso de la memoria era debido a:

  • evento normal, la solución es instalar más memoria.

  • evento raro o anormal, resuelva el problema relacionado. Usted puede entonces decidir comprar la memoria extra para el “seguro futuro”.

Error de funcionamiento o problema de fragmentación de la memoria

Esta situación significa que un proceso ha consumido una gran cantidad de memoria del procesador y entonces liberado la mayoría o todo ello, dejar los fragmentos de la memoria todavía afectó un aparato o por este proceso, o por otros procesos esa memoria afectada un aparato durante el problema. Si ocurre el mismo evento varias veces, la memoria podría fragmentarse en varios bloques pequeños para indicar dónde todos los procesos que requieren un bloque de memoria más grande no pueden conseguir la cantidad de memoria que necesitan. Es posible que esto afecte el funcionamiento del router en el sentido de que no pueda conectarse al router y obtener un mensaje si la memoria se fragmenta incorrectamente.

Este problema se caracteriza por un valor bajo en la columna "Más grande" (menos de 20,000 bytes) del comando show memory, pero un valor suficiente en la columna "Liberados" (1MB o más) o alguna otra amplia disparidad entre las dos columnas. Esto puede ocurrir cuando el router tiene muy poca memoria, dado que no hay ninguna rutina de defragmentación en el IOS.

Si suspende la fragmentación de la memoria, cierre algunas interfaces. Esto podría liberar los bloques fragmentados. Si esto funciona, la memoria está trabajando de manera normal y lo único que debe hacer es agregar más memoria. Si apagar las interfaces no ayuda, él puede ser un bug. La mejor línea de acción es entrar en contacto su representante de soporte de Cisco con la información que usted ha recogido.

Falla de asignación de memoria en el proceso = el nivel de interrupción

Esta situación se puede identificar por el proceso en el mensaje de error. Si el proceso se enumera como level> del <interrupt, como en el siguiente ejemplo, después la falla de asignación de memoria está siendo causado por un problema del software.

"%SYS-2-MALLOCFAIL: Memory allocation of 68 bytes failed from 0x604CEF48, 
pool Processor, alignment 0-Process= <interrupt level>, ipl= 3"

Éste es un error de funcionamiento del sistema operativo de Internet de Cisco (IOS). Usted puede utilizar el Bug Toolkit (clientes registrados solamente) para buscar para un ID de bug de software que corresponde con para este problema. Una vez que se ha identificado el bug de software, actualice a una versión del Cisco IOS Software que contenga el arreglo para resolver el problema.

Agotamiento de la memoria debido a descargar por las listas de acceso del usuario

Las Listas de acceso pueden consumir mucha memoria cuando se utilizan en a por la base del usuario. Las Listas de acceso son demasiado grandes ser clasificadas como mini Listas de control de acceso (ACL) y ahora se compilan como turbo ACL. Cada vez que ocurre esto, el proceso TACL tiene que golpear adentro y procesar el nuevo ACL con el pie. Esto puede dar lugar al tráfico que es permitido o negado sobre la base del tiempo de procesamiento de tiempo de compilación y disponible.

Los ACL compilados tienen que ser enviados abajo al XCM. Cuando hay solamente espacio limitado disponible y la memoria es una vez funcionamiento de ella, se consideran los mensajes de la consola y el comienzo del defragger de la memoria.

Esta es la solución temporal:

  • Uso de los ACL sucintos, menos número de motores del control de la aplicación (ACE) que compilarán como mini ACL, y que reducirán en la consumición de la memoria y la potencia de procesamiento para la compilación.

  • Uso de los ACL predefinidos en el router que se refieren vía el filterID del atributo de RADIUS.

Problemas conocidos

Problema sabido 70x0 al cargar el Cisco IOS Software grande del Flash o de Netboot

Cuando un procesador de ruta (RP) 7000 carga una imagen desde Flash, primero carga en la memoria la imagen ROM y luego la Flash. El RP viejo tiene solamente el 16 MB de la memoria, y las versiones corporativas de la versión de Cisco IOS Software más adelante que la versión 11.0 es más grande que 8 MB cuando es sin comprimir. Por lo tanto, cuando carga la imagen desde ROM y luego Flash, el RP 7000 puede quedarse sin memoria, o la memoria puede fragmentarse durante el proceso de inicialización de forma tal que el router puede llegar a tener mensajes de error vinculados a la memoria.

La solución es habilitar el inicio rápido del registro de la configuración de modo que el RP cargue solamente un subgrupo mínimo de la imagen del Cisco IOS Software en la ROM, y después carga el Cisco IOS Software completo del Flash. Para activar Fast Boot (Inicialización rápida), establezca el registro de configuración en 0x2112. Esto también acelerará el proceso de arranque.

Entrada IP y detección de los CiscoWorks UT

Usando la característica de detección UT de los CiscoWorks puede hacer la cantidad de memoria libre llegar a ser muy pequeña en alguno de su Routers. El comando show proc memory puede indicar mucha memoria soportada por el proceso entrado “IP”. Éste es un caso particular de una gran cantidad de la memoria usada para el problema de los procesos normales o anormales para el proceso entrado “IP”, que puede también dar lugar a un problema de la fragmentación de la memoria, si la condición de memoria baja hace la memoria ser hecha fragmentos.

La característica de detección UT hace la estación de administración de red enviar un barrido de ping para todos los IP en cada subred descubierta. Los problemas de la memoria son causados por los tamaños cada vez mayor de la memoria caché de Fast-Switching IP en el router, porque las nuevas entradas del caché se crean para cada nuevo destino. Puesto que la máscara usada para las entradas en el caché depende de cómo es subnetted, la presencia de un direccionamiento usando una máscara de bits 32 (por ejemplo, un Loopback Address) en una red principal hace todas las entradas para que esa red utilice una máscara de bits 32. Esto da lugar a una gran cantidad de entradas del caché que se crearán, usando una gran cantidad de memoria.

La mejor solución es inhabilitar la detección UT. Usted puede hacer esto siguiendo los pasos abajo:

  1. Vaya a C:\Program Files\CSCOpx\etc\cwsi\ANIServer.properties.

  2. Agregue el “UTPingSweep=0".

  3. Recomience el ANI.

Esto puede hacer la tabla de seguimiento de usuarios faltar algunos servidores extremos, o vaya anticuado (esto pudo ser un problema con otra aplicación de Cisco llamada la herramienta de registro del usuario, que confía en el UT), pero no afecta a la detección de Campus que utiliza solamente el tráfico SNMP. El CEF Switching puede también mejorar esta situación (con el CEF, la memoria caché IP se crea de la tabla de ruteo en el bootup). Refiérase a cómo elegir el Mejor Trayecto de Switching del Router para Su Red para más información sobre el CEF y otros trayectos de Switching disponibles.

Hay muchas otras aplicaciones que pueden dar lugar a las situaciones de memoria bajas similares. En la mayoría de los casos, la causa raíz del problema es no el router, sino la aplicación sí mismo. Normalmente usted debe poder prevenir esas tormentas de paquetes marcando la configuración de la aplicación.

Memoria compartida insuficiente para las interfaces

Un poco de Routers (por ejemplo, 2600, 3600, y las 4000 Series) requiere a cantidad mínima de memoria I/O soportar los ciertos procesadores de interfaz.

Si el router se está ejecutando bajo en la memoria compartida, incluso después una recarga, quitando físicamente las interfaces soluciona el problema.

En los 3600 Series Router, el iomem i/o-memory-percentage de los tamaños de la memoria del comando global configuration se puede utilizar para reasignar el porcentaje de DRAM para utilizar para memoria de I/O y la memoria del procesador. Los valores permitidos para i/o-memory-percentage son 10, 15, 20, 25 (el valor por defecto), 30, 40, y 50. Un mínimo de 4 MB de la memoria se requiere para memoria de I/O.

Para resolver problemas este problema, refiérase:

Error de fuga en memoria intermedia

Si usted tiene la salida de un comando show buffers o de un comando show technical-support (en el enable mode) de su dispositivo de Cisco, usted puede utilizar el Output Interpreter (clientes registrados solamente) para visualizar los problemas potenciales y los arreglos. Para usar Output Interpreter (sólo para clientes registrados), debe estar registrado como cliente, conectado y tener habilitado JavaScript.

Cuando un proceso se acaba con un buffer, el proceso debe liberar el buffer. Una fuga de búfer ocurre cuando el código olvida procesar un buffer, u olvida liberarlo después de que se haga con el paquete. Como consecuencia, los recursos compartidos del almacén intermedio continúan creciendo mientras que los paquetes se pegan cada vez más en los buffers.

Usted puede identificar una fuga de búfer usando el comando show buffers. Algunos de los agrupamientos de memorias intermedias públicos deben ser anormalmente grandes con pocos almacenes libres. Después de que una recarga, usted pueda ver que el número de almacenes libres nunca consigue cerca del número de búferes totales.

La herramienta del Output Interpreter permite que usted reciba un análisis de la salida de buffers de la demostración.

En el ejemplo abajo, los buffers medios son afectados. El comando show buffers indica que se están utilizando y no se están liberando casi 8094 buffers (8122 totales menos 28 libres):

Public buffer pools: Small buffers, 104 bytes (total 50, permanent 50): 
     50 in free list (20 min, 150 max allowed)
     403134 hits, 0 misses, 0 trims, 0 created
     0 failures (0 no memory)
Middle buffers, 600 bytes (total 8122, permanent 200):
     28 in free list (10 min, 300 max allowed)
     154459 hits, 41422 misses, 574 trims, 8496 created
Big buffers, 1524 bytes (total 50, permanent 50):
     50 in free list (5 min, 150 max allowed)
     58471 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) 

Esto es un bug del Cisco IOS Software. Actualización a la última versión de su tren de versión de reparar los bug conocido de fuga de memoria intermedia (por ejemplo, si usted está funcionando con el Cisco IOS Software Release 11.2(14), actualización a la última 11.2(x) imagen. Si esto no ayuda, o si no es posible actualizar al router, publique los siguientes comandos para el agrupamiento de problemas cuando el router es bajo en la memoria. Estos comandos visualizarán la información adicional sobre el contenido de los buffers:

  • show buffer old: muestra a memorias intermedias asignadas más de un viejo minucioso

  • show buffer pool (centro pequeño - grande - verybig - grande - enorme): muestra un resumen de los buffers para el pool especificado

  • volcado del show buffer pool (centro pequeño - grande - verybig - grande - enorme): muestra a volcado hexadecimal/ASCII de todos los buffers funcionando de una agrupación dada.

Refiera a las fugas de búfer del troubleshooting para los detalles adicionales.

El router no cuenta con la memoria rápida suficiente

Este problema es específico a las 7500 Series. Si el router se ejecuta de la memoria “rápida”, utilizará su RAM dinámico principal (DRAM) en lugar de otro. No se requiere ninguna acción.

IPFAST-4-RADIXDELETE: Error que intenta borrar [ip_address]/[dec] de la entrada del prefijo (esperado [hex], conseguido [hex])

El IPFAST-4-RADIXDELETE: El error que intenta borrar [ip_address]/[dec] de la entrada del prefijo (esperado [hex], conseguido [hex]) mensaje de error indica que la tabla rápida del Switching Cache del Routers en la memoria es corrupta. Cuando el router intenta borrar la tabla de caché bajo normal que procesa o ingresan al comando clear ip cache, el sistema no puede borrar las entradas debido a la corrupción de la memoria. Cuando el router no puede borrar tal entrada, el mensaje IPFAST-4-RADIXDELETE está señalado.

Para resolver un problema de la corrupción de la memoria de la tabla de caché, una reinicialización dura del router es necesaria. Una reinicialización retallará las estructuras de memoria del sistema y permitirá que el caché rápido reconstruya corrupción-libre.

%SYS-2-CHUNKEXPANDFAIL: No podía ampliar el pool del pedazo para la BITMAP TACL. Ninguna memoria disponible

La razón del %SYS-2-CHUNKEXPANDFAIL: No podía ampliar el pool del pedazo para la BITMAP TACL. No hay mensaje de error disponible de la memoria que no hay bastante memoria del procesador dejada para crecer el pool del pedazo especificado. Es causado posiblemente por un proceso que se comporte anormalmente.

La solución alternativa es capturar periódicamente (dependiendo de la frecuencia del problema) la salida de estos comandos para poder monitorear el uso de la memoria del router:

  • muestre la memoria de los procesos clasificada

  • muestre las estadísticas de la memoria

  • muestre los totales del afectar un aparato-proceso de la memoria

Resumen de resolución de problemas

Fallas de asignación de memoria del procesador de agrupaciones

Siga los siguientes pasos.

  1. Marque los requisitos de memoria para su versión o conjunto de características de versión de Cisco IOS Software.

  2. Si es posible, actualización a la última versión de versión de Cisco IOS Software de su tren de versión.

  3. Comprobación para una gran cantidad de memoria usada para los procesos normales o anormales. Si procede, agregue más memoria.

  4. Marque si esto es un escape o una fragmentación (fuga de búfer en los routeres de mayor capacidad).

  5. Recoja la información pertinente y entre en contacto TAC.

Agrupar fallas de asignación de memoria de "I/O" ("Procesador" en routers de mayor capacidad, "PCI" en la serie 7200)

Siga estos pasos:

  1. Marque los requisitos de memoria compartida (véase no bastante memoria compartida para las interfaces).

  2. Si es posible, actualización a la última versión de versión de Cisco IOS Software de su tren de versión.

  3. Determine a qué recursos compartidos del almacén intermedio es afectado, recoja la información pertinente, y entre en contacto el TAC de Cisco.

Información para recopilar si abre un pedido de servicio del TAC

Si usted todavía necesita la ayuda después de seguir los pasos de Troubleshooting arriba y quiere abrir una solicitud de servicio de TAC (clientes registrados solamente), esté seguro de incluir la siguiente información:
  • Trobleshooting realizado antes de abrir el caso
  • show technical-support output (in enable mode if possible) – varias capturas para mostrar cómo ha cambiado a lo largo del tiempo el uso de memoria por parte del router
  • el resultado o la captura de la consola del show log, si está disponible
  • muestre los totales del afectar un aparato-pool de la memoria o muestre el memory summary - las capturas múltiples para mostrar cómo el uso del router de la memoria ha cambiado en un cierto plazo
Usted puede ser que necesite utilizar las técnicas en “incapaces de crear el error del EXEC” o cuando la consola no responde para conseguir la información. Las capturas múltiples de la información pueden ser necesarias determinar la causa del problema. Pues hay varios tipos de fugas de memoria, el ingeniero de TAC puede necesitar la información adicional una vez que identifican al tipo de fuga de memoria. Si usted sospecha un Problema de fragmentación de la memoria, incluya por favor:
  • muestre la memoria libre
  • muestre la memoria más grande
Si usted sospecha una fuga de búfer, incluya por favor:
  • show buffer old
  • show buffer pool (centro pequeño - grande - verybig - grande - enorme): para el agrupamiento de problemas. Por ejemplo, si usted sospecha un escape en el pool medio, incluya el comando show buffer pool middle
  • paquete del show buffer pool (centro pequeño - grande - verybig - grande - enorme): para el agrupamiento de problemas. Por ejemplo, si usted sospecha un escape en el pool medio, incluya el comando show buffer pool middle packet
Puede adjuntar información a su caso transfiriéndola mediante Herramienta de Solicitud de Servicio TAC (sólo clientes registrados). Si usted no puede acceder la herramienta de la solicitud de servicio, usted puede enviar la información en un elemento adjunto de correo electrónico a attach@cisco.com con su número de caso en los asuntos de su mensaje para adjuntar la información pertinente para su caso.

Nota: No recargue por favor manualmente o ciclo de la potencia el router antes de recoger la información antedicha a menos que esté requerido para resolver problemas los problemas de memoria como esto puede hacer la información importante ser perdido que es necesaria para determinar la causa raíz del problema. Su ingeniero de TAC puede sugerir el recargar del router, y el recoger de la información adicional después de que la recarga como parte del troubleshooting, dependiendo de la causa.

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.


Información Relacionada


Document ID: 6507