Resolución de problemas de la memoria

Anuncio
Resolución de problemas de la memoria
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
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:
100 preguntas y respuestas sobre amenazas de Internet
Cisco Thread Defense System (Sistema de defensa contra amenazas de Cisco)
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.
Puede utilizar la herramienta Output Interpreter para mostrar posibles problemas y soluciones. Para usar Output Interpreter, 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
Processor
I/O
Head
60AB4ED0
40000000
Total (b)
5550384
16777216
Used (b)
2082996
1937280
Free (b)
3467388
14839936
Lowest (b)
3464996
14839936
Largest (b)
3454608
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
0
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
TTY
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Allocated
226548
320
5663692
264
5700
0
96
264
2028
96
504
0
136
136
340
445664
2365804
528
188
Freed
1252
5422288
2173356
264
5372
0
0
264
672
0
264
0
0
0
340
442936
2357152
264
0
Holding
1804376
320
0
3784
13124
6784
6880
6784
8812
6880
7024
6784
6920
6920
12784
13904
17992
7048
9972
Getbufs
0
0
1856100
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Retbufs
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Process
*Initialization*
*Scheduler*
*Dead*
Load Meter
Virtual Exec
Check heaps
Pool Manager
Timers
ARP Input
SERIAL A' detect
ATM ILMI Input
ILMI Process
M32_runts pring
Call drop procs
ATMSIG Timer
IP Input
CDP Protocol
MOP Protocols
IP Background
17
18
0
0
0
5852116
1608
0
6784
14236
0
0
0
0
TCP Timer
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)
I/O
600000
2097152
Used(b)
461024
Free(b)
1636128
Lowest(b) Largest(b)
1635224
1635960
Processor memory
Address
1D8310
2CA964
2CAA04
2CAAA0
2ED714
2F12AC
2F1304
2F1348
300C28
Bytes Prev.
60 1D82C8
36 2CA914
112 2CA9B4
68 2CAA04
52 2ED668
44 2F124C
24 2F12AC
68 2F1304
340 300A14
Next
1D8378
2CA9B4
2CAAA0
2CAB10
2ED774
2F1304
2F1348
2F13B8
300DA8
Ref
1
1
1
1
1
1
1
1
1
PrevF
NextF
Alloc PC
3281FFE
3281FFE
3A42144
3A420D4
3381C84
3A50234
3A420D4
3381C84
3381B42
What
Router Init
Router Init
OSPF Stub LSA RBTree
Router Init
Router Init
Router Init
Router Init
Router Init
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:
herramienta Calculadora de memoria (solamente clientes registrados) para los routers. 2600/3600
Requisitos de memoria compartida para los routers 4000/4500/4700.
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.
Puede utilizar la herramienta Output Interpreter para mostrar posibles problemas y soluciones. Para usar Output Interpreter, 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 [email protected] 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.
© 1992-2014 Cisco Systems Inc. Todos los Derechos Reservados.
Fecha de Generación del PDF: 19 Mayo 2008
http://www.cisco.com/cisco/web/support/LA/7/73/73196_mallocfail.html
Descargar