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

Resolución de problemas de la memoria

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

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


Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
¿Qué significa error de asignación de memoria?
Síntomas
Error "No se puede crear EXEC" o cuando la consola no responde
Comprensión del mensaje de error
Posibles causas
     En la memoria del procesador ("Procesador de agrupamientos" en todas las plataformas)
     En memoria de paquete ("I/O" o " Processor" en routers de mayor capacidad, "PCI" en serie 7200 y tarjetas VIP)
Resolución de problemas
     Problema relacionado con la seguridad
     El tamaño de la memoria no soporta la imagen del software Cisco IOS
     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
     Error en la asignación de memoria en el proceso = <nivel de interrupción>
     Problemas conocidos
     Memoria compartida insuficiente para las interfaces
     Error de fuga en búfer
     El router no cuenta con la memoria rápida suficiente
Resumen de resolución de problemas
     Errores de asignación de memoria del procesador de agrupamientos
     Agrupar errores de asignación de memoria de "I/O" ("Procesador" en routers de mayor capacidad, "PCI" en la serie 7200)
Información para recopilar si abre un pedido de servicio del TAC
Discusiones relacionadas de la comunidad de soporte de Cisco
Información relacionada

Introducción

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

Requisitos previos

Requisitos

No hay requisitos específicos para este documento.

Componentes utilizados

La información que contiene este documento está basada en las versiones de software y hardware mencionadas a continuación.

  • Todas las versiones del software IOS® de Cisco

  • Todos los routers Cisco

Nota: Este documento no se aplica a los switches Cisco Catalyst o plataformas MGX.

La información que se presenta en 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 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 las Convenciones de consejos técnicos de Cisco.

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

Un fallo de asignación de memoria significa que:

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

  • 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 error de asignación de memoria incluyen, pero no se limitan a:

  • La consola o el registro de mensajes: "%SYS-2-MALLOCFAIL: falló la asignación de memoria de 1028 bytes de 0x6015EC84, procesador de agrupamientos, alineación 0"

  • Sesiones Telnet denegadas

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

  • No se obtienen resultados desde algunos comandos show

  • Mensajes de "Memoria insuficiente"

  • Mensajes de la consola "No se puede crear EXEC: no hay memoria o hay demasiados procesos"

  • Router bloqueado, falta de respuesta de la consola.

Error "No se puede crear EXEC" o cuando la consola no responde

Cuando el router no tiene memoria suficiente, en algunos momentos no es posible establecer una conexión desde Telnet al router. En este punto, es importante obtener acceso al puerto de la consola a fin de obtener datos para la solución de problemas. No obstante, al conectar al puerto de la consola, podría ver lo siguiente:

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

Si ve el mensaje que aparece arriba, no hay ni siquiera memoria disponible para permitir la conexión de una consola. Hay pasos que se pueden seguir para permitir la obtención de datos a través de la consola. Si ayuda al router a liberar parte de la memoria, es posible que la consola responda. Esto le permitirá obtener los datos necesarios del router para la solución de problemas.

Nota: Si se ha configurado el Border Gateway Protocol (BGP) en el router, verá Lograr un ruteo óptimo y reducir el consumo de memoria de BGP para reducir el consumo de la memoria en relación con este proceso.

Aquí se describen los pasos para intentar obtener datos usando el puerto de la consola en condiciones de muy poca memoria:

  1. Desconecte los cables de la LAN y la WAN de las interfaces del router. De esta forma, el router interrumpirá en envío de paquetes.

  2. Vuelva a verificar la consola. ¿Obtiene una respuesta y puede ejecutar comandos? Después de unos instantes, debería haber memoria suficiente disponible para que la consola responda.

  3. Obtenga la información necesaria del modo EXEC privilegiado (nº de router). Como mínimo, deseará obtener todos los resultados de los siguientes comandos: show memory allocating-process totals (o show memory summary si show memory allocating-process totals no está disponible), show logging y, si es posible, show technical-support.

  4. Después de haber obtenido todos los datos necesarios, vuelva a conectar todos los enlaces de la LAN y la WAN, y supervise el uso de la memoria del router.

Comprensión del mensaje de error

Al ejecutar un comando show logging, verá algo similar a esto:

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

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

[Pool] indica si la memoria del procesador ('Procesador de agrupamientos') o la memoria del paquete (' E/S') está afectada. Los routers de mayor capacidad (series 7000 y 7500) tienen sus búferes en la memoria de acceso aleatorio dinámica (DRAM), de modo que la falta de memoria del paquete se notificará como "procesador de agrupamientos". Las tarjetas del procesador de interfaz (VIP) serie 7200 y Versatile también pueden informar errores en la información de control de protocolos del agrupamiento ('PCI del agrupamiento')" para la memoria del paquete.

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

Posibles causas

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

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

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

Error de asignación de memoria en el proceso <nivel de interrupción>

Problemas conocidos

Problema 70x0 conocido al cargar el software de Cisco IOS de gran tamaño, desde Flash o el inicio de red

IP Input y función UT Discovery de CiscoWorks

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 búfer

El router no cuenta con la memoria rápida suficiente

Resolución de problemas

Problema relacionado con la seguridad

Comúnmente, los errores MALLOCFAIL están causados por un problema de seguridad, como un gusano o virus en funcionamiento en su red. Es muy probable que ésta sea la causa si no se han realizado cambios recientes en la red, como una actualización del IOS del router. Habitualmente, un cambio en la configuración, como agregar nuevas líneas a sus listas de accesos, puede mitigar los efectos de este problema. La página Avisos y asesoría en seguridad de productos de Cisco contiene información sobre cómo detectar las causas más probables y soluciones alternativas específicas.

Para obtener información adicional, consulte:

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

Primero, consulte las Notas de la versión o el Área de Descarga de Software (solamente clientes registrados) para conocer la mínima capacidad de memoria correspondiente al conjunto de funciones y la versión que está ejecutando. Asegúrese de que la memoria sea suficiente. Los requisitos de memoria de la Conexión de Cisco en línea (CCO) indican la capacidad mínima recomendada para el funcionamiento correcto del router en las redes de la mayoría de las compañías. Los requisitos de memoria reales varían de acuerdo con los protocolos, las tablas de ruteo y los patrones de tráfico.

Error de funcionamiento de fuga de memoria

Si tiene el resultado de un comando show memory allocating-process totals, un comando show memory summary o un comando show technical-support (en el modo activado) del dispositivo Cisco, podrá utilizar para mostrar posibles problemas y sus soluciones. Para utilizar , debe ser cliente registrado, estar conectado al sistema y tener JavaScript activado.

Se produce una fuga de memoria cuando un proceso requiere o asigna memoria y olvida liberarla (cancelar la asignación) al terminar con esa tarea. Como resultado, se reserva el bloque de memoria hasta que se recarga el router. Con el tiempo, ese proceso asigna más y más bloques de memoria hasta que ya no queda memoria libre disponible. Según 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 corregirlo, actualice a la última versión en su serie de versiones (por ejemplo, si está ejecutando la versión 11.2(14) del software Cisco IOS®, actualice a la imagen 11.2(x) más reciente).

Si esto no soluciona el problema o si no desea actualizar el router, ingrese el comando show processes memory en intervalos regulares durante un período de tiempo (por ejemplo, cada algunas horas o días según si la fuga es rápida o lenta). Consulte para ver si la memoria libre sigue disminuyendo y nunca se devuelve. La velocidad con la que desaparece la memoria libre depende de la frecuencia con que ocurre el evento que ocasiona la fuga. Dado que la memoria nunca se libera, puede rastrear el proceso que utiliza la memoria al tomar instantáneas de ésta con el transcurso del tiempo. Recuerde que diferentes procesos asignan memoria y cancelan la asignación según sea necesario, de modo que verá diferencias; pero, a medida que la fuga continúe, verá un proceso que consume constantemente más memoria (Nota: Para ciertos procesos, como el ruteo mediante el Border Gateway Protocol (BGP) o el protocolo Open Shortest Path First (OSPF), es normal que usen más de un megabyte de memoria, lo que no significa que haya una fuga.)

Para identificar el proceso que consume más memoria, compare la Columna Holding (En espera) del comando show processes memory durante 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 se haya perdido una cantidad importante de memoria, obtenga un comando show memory allocating-process totals o un comando show memory summary para reunir más información sobre la solución de problemas. Luego, comuníquese con el Centro de asistencia técnica de Cisco (TAC) y proporcione la información que obtuvo, junto con un resumen show technical-support del router.

La herramienta intérprete de resultados permite recibir un análisis del comando show memory allocating-process totals o del resultado de show memory summary.

En la siguiente tabla aparecen las tres primeras líneas del resultado del comando show memory summary:

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

Total = la cantidad total de memoria disponible después de que la imagen del sistema se cargue y cree sus estructuras de datos.

Utilizada = la cantidad de memoria actualmente asignada.

Libre = la cantidad de memoria actualmente libre.

Inferior: es la menor cantidad de memoria libre registrada por el router desde el inicio más reciente.

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

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

Ésta es la información que puede obtener 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

Asignada = cantidad total de bytes asignados en el proceso desde el inicio del router.

Liberados = cantidad total de bytes liberados en este proceso.

En espera = cantidad total de bytes actualmente en espera en este proceso. Ésta es la columna más importante para la solución de problemas, dado que muestra la cantidad real de memoria atribuida a este proceso. El valor de esta columna no es necesariamente igual a los valores de las columnas Asignada menos Liberada, dado que ciertos procesos asignan un bloque de memoria que posteriormente se libera al agrupamiento de memoria liberada en otro proceso.

El proceso *Dead*

El proceso *dead* no es un proceso real. Su función es representar la memoria asignada en el marco de otro proceso, que ha terminado. Aquí tiene un ejemplo:

Se asigna memoria al configurar una Traducción de dirección de red (NAT) durante una sesión Telnet. La memoria se tiene en cuenta en el proceso de Telnet ("Virtual Exec"). Cuando este proceso termina, la memoria para la configuración NAT aún está en uso. Esto se demuestra usando el proceso *dead*.

Puede ver en qué otro marco se asignó la memoria, usando el comando show memory dead, en la columna "What" (Qué):

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 la fuga de memoria y el proceso *Dead* parece ser el que está consumiendo la memoria, incluya un comando 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 "Lowest" (Inferior). En este caso, un evento normal o anormal (por ejemplo, una inestabilidad importante de ruteo) hace que el router use una cantidad de memoria del procesador inusualmente grande en un lapso breve, durante el cual la memoria se ha acabado. Durante ese período, el router informa sobre MALLOCFAIL. Podría suceder 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 extraño.

Si el router no se ha reiniciado, ingrese el comando show memory allocating-process totals (o el comando show memory summary si show memory allocating-process totals no está disponible) y observe las tres primeras líneas. Los mensajes de registro pueden proporcionar pistas para saber qué proceso estaba consumiendo tanta memoria.

Si el uso de una gran cantidad de memoria se produjo a causa de un:

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

  • evento raro o anormal, resuelva el problema relacionado. Puede decidir comprar memoria adicional como "seguro" para el futuro.

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

Esta situación indica que un proceso ha consumido una gran cantidad de memoria del procesador y luego ha liberado gran parte de ésta, con fragmentos de memoria aún asignados en este proceso o en otros que asignaron memoria durante el problema. Si el mismo evento ocurre varias veces, la memoria puede fragmentarse en bloques muy pequeños, hasta alcanzar un punto en el que todos los procesos que requieran un bloque de memoria más grande no puedan obtener la cantidad de memoria que necesitan. Esto puede afectar el funcionamiento del router hasta el punto de impedirle la conexión al router y generar un mensaje si la memoria está demasiado fragmentada.

Este problema se caracteriza por un valor bajo en la columna "Largest" (Superior). (menos de 20.000 bytes) del comando show memory, pero un valor suficiente en la columna "Freed" (Liberada) –1 MB o más– o alguna otra disparidad importante entre ambas columnas. Esto puede suceder cuando un 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 da resultado, el comportamiento de la memoria es normal, y todo lo que debe hacer es agregar más memoria. Si el cierre de las interfaces no da resultado, podría tratarse de un error de funcionamiento. Lo más recomendable es comunicarse con el representante de servicio técnico de Cisco, con la información obtenida.

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

El proceso puede identificar esta situación en el mensaje de error. Si el proceso se detalla como <nivel de interrupción>, como en el siguiente ejemplo, el error en la asignación de la memoria se debe a un problema del software.

"%SYS-2-MALLOCFAIL: Memory allocation of 68 bytes failed from 0x604CEF48,
pool Processor, alignment 0-Proceso= <nivel de interrupción>, ipl= 3"

Éste es un error de funcionamiento del sistema operativo de Internet de Cisco (IOS). Puede utilizar Bug Toolkit (solamente clientes registrados) para buscar una identificación de error de funcionamiento del software coincidente para este problema. Una vez que el error de funcionamiento del software se haya identificado, actualice a una versión del software Cisco IOS que contenga la solución para resolver el problema.

Problemas conocidos

Problema 70x0 conocido al cargar el software Cisco IOS grande desde Flash o el inicio de red

Cuando un procesador de router (RP) 7000 inicia una imagen desde Flash, primero carga la imagen de ROM y luego la imagen de flash a la memoria. El RP anterior sólo tiene 16 MB de memoria, y las versiones para empresas de la versión del software Cisco IOS® posterior a la versión 11.0 tienen un tamaño superior a 8 MB sin comprimir. Por consiguiente, cuando carga la imagen de ROM y luego la imagen de flash, el RP 7000 puede quedarse sin memoria, o la memoria pudo haberse fragmentado durante el proceso de inicio para que el router tenga mensajes de error relacionados con la memoria.

La solución es habilitar Fast Boot (Inicio rápido) en el registro de configuración para que el RP sólo cargue un subconjunto mínimo de la imagen del software Cisco IOS en ROM, y luego cargue el software Cisco IOS completo de Flash. Para habilitar el inicio rápido, establezca el registro de configuración en 0x2112. Esto también acelerará el proceso de inicio.

IP Input y función UT Discovery de CiscoWorks

Usar la función UT Discovery de CiscoWorks hace que la cantidad de memoria libre sea muy pequeña en algunos de los routers. El comando show proc memory puede indicar una gran cantidad de memoria en espera en el proceso "IP input" (entrada IP). Éste es un caso particular del problema Gran cantidad de memoria usada para procesos normales o anormales del proceso "IP input", que también puede derivar en un problema de Fragmentación de memoria, si una situación de baja memoria origina su fragmentación.

La función UT Discovery hace que la estación de administración de red envíe un ping de barrido para todas las IP en cada subred descubierta. Los problemas de memoria son consecuencia del tamaño en aumento de la memoria caché de conmutación rápida de IP en el router, dado que se crean entradas de caché nuevas para cada destino nuevo. Dado que la máscara utilizada para las entradas en la memoria caché depende de cómo están constituidas las subredes, la presencia de una dirección que usa una máscara de 32 bits (por ejemplo, una dirección de bucle) en una red grande hace que todas las entradas de esa red usen una máscara de 32 bits. El resultado es la creación de una gran cantidad de entradas de caché, que utilizan una gran cantidad de memoria.

La mejor solución es inhabilitar la función UT Discovery. Para ello, siga los pasos a continuación:

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

  2. Agregue "UTPingSweep=0".

  3. Reinicie ANI.

Esto puede hacer que la tabla de seguimiento de usuario pierda algunos servidores finales o quede desactualizada (posible problema con otra aplicación de Cisco llamada User Registration Tool, que depende de UT), pero no afecta la aplicación Campus Discovery que usa sólo el tráfico SNMP. La conmutación CEF también puede mejorar esta situación (con CEF, la memoria caché IP se crea a partir de la tabla de ruteo al inicio). Consulte Cómo elegir la mejor ruta de conmutación del router para su red a fin de obtener más información sobre CEF y otras rutas de conmutación disponibles.

Hay muchas otras aplicaciones que pueden originar situaciones de memoria baja similares. En la mayoría de los casos, el router no es la causa del problema, sino la aplicación en sí. Normalmente podrá evitar esas tormentas de paquetes si verifica la configuración de la aplicación.

Memoria compartida insuficiente para las interfaces

Algunos routers (por ejemplo, las series 2600, 3600 y 4000) requieren una cantidad mínima de memoria de entrada/salida (I/O) para soportar ciertos procesadores de interfaces.

Si el router se está quedando sin memoria compartida, incluso después de una recarga, la remoción física de las interfaces resuelve el problema.

En los routers serie 3600, puede utilizarse el comando de configuración global memory-size iomem i/o-memory-percentage para reasignar el porcentaje de DRAM que se usará para la memoria I/O y la memoria del procesador. Los valores permitidos para i/o-memory-percentage son 10, 15, 20, 25 (predeterminado), 30, 40, y 50. Se necesita un mínimo de 4 MB de memoria para la memoria I/O.

Para resolver este problema, consulte la:

Error de fuga en búfer

Si tiene el resultado de un comando show buffers o un comando show technical-support (en el modo activado) del dispositivo Cisco, puede utilizar para mostrar posibles problemas y sus soluciones. Para utilizar , debe ser cliente registrado, estar conectado al sistema y tener JavaScript activado.

Cuando un proceso termina de usar el búfer, debe liberarlo. Se produce una fuga de búfer cuando el código olvida procesar un búfer u olvida liberarlo después de haber terminado de usar el paquete. Como consecuencia, el grupo de búferes sigue creciendo a medida que más y más paquetes quedan estancados en los búferes.

Puede usar el comando show buffers para identificar una fuga de búfer. Algunos de los agrupamientos de búfer público serán anormalmente grandes con escasos búferes liberados. Después de una recarga, puede ver que la cantidad de búferes liberados nunca se aproxima al número de búferes total.

La herramienta intérprete de resultados permite recibir un análisis del resultado show buffers.

En el ejemplo provisto a continuación, los búferes están afectados. El comando show buffers indica que casi 8094 búferes están en uso y sin liberar (8122 en total menos 28 liberados):

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) 

Éste es un error de funcionamiento del software Cisco IOS. Actualice a la versión más reciente de su serie de versiones para corregir los errores de funcionamiento conocidos de fuga de búfer (por ejemplo, si está ejecutando la versión de software Cisco IOS 11.2(14), actualice a la imagen 11.2(x). Si esto no soluciona el problema o si no es posible actualizar el router, emita los siguientes comandos para el agrupamiento de problemas cuando el router tenga poca memoria. Estos comandos mostrarán información adicional sobre el contenido de los búferes.

  • show buffer old: muestra los búferes asignados con más de un minuto de anterioridad

  • show buffer pool (small - middle - big - verybig - large - huge): muestra un resumen de los búferes para el agrupamiento específico

  • show buffer pool (small - middle - big - verybig - large - huge) dump: muestra un vaciado hex./ASCII de todos los búferes en uso de un agrupamiento determinado.

Consulte Resolución de problemas de fuga de búfer para obtener detalles adicionales.

El router no cuenta con la memoria rápida suficiente

Este problema es específico de la serie 7500. Si el router se queda sin memoria "rápida", usará la RAM dinámica (DRAM) principal en reemplazo. No se requiere ninguna acción.

Resumen de resolución de problemas

Errores de asignación de memoria del procesador de agrupamientos

Siga estos pasos.

  1. Consulte los requisitos de memoria para la versión del software Cisco IOS o el conjunto de funciones.

  2. Si es posible, actualice a la versión más reciente del software Cisco IOS en su serie de versiones.

  3. Verifique si se ha usado una gran cantidad de memoria para procesos normales o anormales. Si es necesario, agregue más memoria.

  4. Verifique si se trata de una fuga o una fragmentación (fuga de búfer o routers de mayor capacidad).

  5. Obtenga la información relevante y comuníquese con el TAC.

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

Siga estos pasos:

  1. Consulte los requisitos para memoria compartida (en Memoria compartida insuficiente para las interfaces).

  2. Si es posible, actualice a la versión más reciente del software Cisco IOS en su serie de versiones.

  3. Determine qué agrupamiento de búfer está afectado, obtenga la información relevante y comuníquese con el TAC de Cisco.

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

Sí aún requiere asistencia después de realizar los pasos de solución de problemas y desea abrir un pedido de servicio del TAC (solamente clientes registrados) , asegúrese de incluir la siguiente información:

  • Resolución de problemas realizada antes de abrir el caso

  • Resultado de show technical-support (en el modo activado, si es posible): diversas capturas para mostrar cómo el uso de memoria del router ha cambiado con el tiempo.

  • Resultado de show log o capturas de la consola si están disponibles

  • show memory allocating-pool totals o show memory summary: diversas capturas para mostrar cómo el uso de memoria del router ha cambiado con el tiempo

Tal vez necesite usar las técnicas en el error "No se puede crear EXEC" o cuando la consola no responde para obtener la información. Es posible que se necesiten diversas capturas para mostrar la información a fin de determinar la causa del problema. Dada la existencia de diversos tipos de fuga de memoria, el ingeniero del TAC puede necesitar información adicional tras haber identificado el tipo de fuga de la memoria.

Si sospecha un problema de fragmentación de memoria, incluya:

  • show memory free

  • show memory bigger

Si sospecha un problema de fuga de búfer, incluya:

  • show buffer old

  • show buffer pool (small - middle - big - verybig - large - huge): para el agrupamiento de problemas. Por ejemplo, si sospecha una fuga en el agrupamiento intermedio, incluya el comando show buffer pool middle

  • show buffer pool (small - middle - big - verybig - large - huge) packet: para el agrupamiento de problemas. Por ejemplo, si sospecha una fuga en el agrupamiento intermedio, incluya el comando show buffer pool middle packet

Puede vincular información a su caso si la carga con la Herramienta de pedido de servicio TAC (solamente clientes registrados) . Si no puede ingresar a la Herramienta de pedido de servicio, puede enviar la información como documento adjunto de un correo electrónico a attach@cisco.com junto con el número de su caso en la línea del asunto de su mensaje para adjuntar la información relevante a su caso.

Nota: Si es posible, no recargue manualmente el router ni lo someta a un ciclo de apagado y encendido antes de recopilar la información mencionada, salvo que sea necesario para resolver problemas de memoria, dado que esto puede ocasionar la pérdida de información importante y necesaria para determinar la causa principal del problema. El ingeniero del TAC puede sugerirle que recargue el router y obtenga información adicional después de la recarga como parte de la solución de problemas, según cuál sea 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.


Document ID: 6507