El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe los síntomas y las posibles causas de la falla de asignación de memoria (MALLOCFAIL) y detalla cómo solucionar estos problemas.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
Todas las versiones del IOS® de Cisco
Todos los routers Cisco
Nota: Este documento no se aplica a los switches Cisco Catalyst que utilizan las plataformas CatOS o 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 tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Consulte Convenciones de Consejos TécnicosCisco para obtener más información sobre las convenciones del documento.
La falla de asignación de memoria significa:
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 de Cisco]) o con la memoria de paquetes (utilizada por los paquetes entrantes y salientes).
Los síntomas de falla de asignación de memoria incluyen, pero no se limitan a:
Mensaje de la consola o del registro: "%SYS-2-MALLOCFAIL: Error en la asignación de memoria de 1028 bytes desde 0x6015EC84, Procesador de grupo, alineación 0"
Sesiones Telnet denegadas
Se muestra el comando show processor memory, independientemente del comando ingresado en una consola
No hay salida de algunos comandos show
Mensajes con "memoria insuficiente"
El mensaje de la consola "No se puede crear EXEC - no hay memoria o hay demasiados procesos"
Router colgado, sin respuesta de consola.
Cuando un router tiene poca memoria, en algunos casos no es posible establecer una conexión Telnet con el router. En este punto, es importante obtener acceso al puerto de la consola para recopilar datos para la resolución de problemas. Sin embargo, cuando se conecta al puerto de la consola, puede ver lo siguiente:
%% Unable to create EXEC - no memory or too many processes
Si ve el mensaje anterior, no hay suficiente memoria disponible para permitir una conexión de consola. Existen pasos que puede realizar para permitir la captura de datos a través de la consola. Si ayuda al router a liberar memoria, la consola puede responder y, a continuación, puede capturar los datos necesarios del router para la resolución de problemas.
Nota: Si el protocolo de gateway fronterizo (BGP) está configurado en el router, puede consultar Lograr un ruteo óptimo y reducir el consumo de memoria BGP para reducir el consumo de memoria relacionado con este proceso.
Estos son los pasos a seguir para capturar datos cuando el puerto de la consola se encuentra en condiciones de memoria muy baja:
Desconecte los cables LAN y WAN de las interfaces del router. Esto puede hacer que el router deje de pasar paquetes.
Vuelva a comprobar la consola. ¿Es capaz de obtener una respuesta y ejecutar comandos? Después de unos instantes, debe haber suficiente memoria disponible para que la consola pueda responder.
Recopile la información necesaria del modo EXEC privilegiado (Router#). Como mínimo, desea recopilar la salida completa de estos comandos: show memory allocation-process totals (o show memory summary si show memory allocation-process totals no está disponible), show logging , y si es posible, show technical-support.
Una vez recopilados los datos necesarios, vuelva a conectar todos los enlaces LAN y WAN y continúe supervisando el uso de la memoria del router.
Cuando ejecuta un comando show logging, debe 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
[Pool] indica si la memoria del procesador (' Pool Processor ') o la memoria del paquete (' pool I/O ') se ve afectada. Los routers de gama alta (series 7000 y 7500) tienen sus búferes en la memoria de acceso aleatorio dinámica (DRAM) principal, por lo que la falta de memoria de paquetes se puede notificar como "procesador de grupo". Las tarjetas de la serie 7200 y del Procesador de interfaz versátil (VIP) también pueden informar errores en la Información de control de protocolo del grupo (' pool PCI ')" para la memoria del paquete.
[Process] es el proceso afectado por la falta de memoria.
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 conocido de 70x0 al cargar el software Cisco IOS de gran tamaño desde Flash o Netboot
Entrada IP y detección de CiscoWorks UT
Memoria compartida insuficiente para las interfaces
Error de fuga en memoria intermedia
El router no cuenta con la memoria rápida suficiente
Por lo general, los errores MALLOCFAIL son causados por un problema de seguridad, como un gusano o virus que opera en su red. Esto es especialmente probable que sea la causa si no ha habido cambios recientes en la red, como una actualización del IOS de Cisco del router. Por lo general, un cambio de configuración, como si agrega líneas adicionales a sus listas de acceso, puede mitigar los efectos de este problema. La página Avisos y avisos de seguridad de productos de Cisco contiene información sobre la detección de las causas más probables y soluciones alternativas específicas.
Para obtener información adicional, consulte:
En primer lugar, consulte el Área de descarga de software para ver el tamaño mínimo de memoria del conjunto de funciones y la versión que ejecuta. Asegúrese de que es suficiente. Los requisitos de memoria de Cisco.com son los tamaños mínimos recomendados para el correcto funcionamiento del router en la mayoría de las redes de la empresa. Los requisitos de memoria reales varían en función de los protocolos, las tablas de routing y los patrones de tráfico.
Nota: solo los usuarios registrados de Cisco tienen acceso a la información y las herramientas internas de Cisco.
Si tiene el resultado de un comando show memory allocation-process totals, un comando show memory summary o un comando show technical-support (en modo de habilitación) de su dispositivo Cisco, puede utilizar Output Interpreter para mostrar los posibles problemas y soluciones.
Nota: solo los usuarios registrados de Cisco tienen acceso a la información y las herramientas internas de Cisco.
Una pérdida de memoria se produce cuando un proceso solicita o asigna memoria y, a continuación, se olvida de liberar (desasignar) la memoria cuando finaliza esa tarea. Como resultado, se reserva el bloque de memoria hasta que se recarga el router. Con el tiempo, ese proceso asigna cada vez más bloques de memoria hasta que no hay memoria libre disponible. En función de la gravedad de la situación de memoria baja en este momento, la única opción que tiene es volver a cargar el router para que vuelva a funcionar.
Este es un bug del Sistema Operativo de Internet de Cisco (Cisco IOS). Para deshacerse de él, actualice a la última versión de su tren de versiones; por ejemplo, si ejecuta la versión 11.2(14) del software del IOS de Cisco, actualice a la última imagen de la versión 11.2(x).
Si esto no soluciona el problema, o si no desea actualizar el router, ingrese el comando show processes memory a intervalos regulares durante un período de tiempo (por ejemplo, cada pocas horas o días según si tiene una fuga rápida o lenta). Compruebe si la memoria libre sigue disminuyendo y si nunca se devuelve. 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 nunca se libera, puede realizar un seguimiento del proceso que utiliza la memoria si toma instantáneas de la memoria a lo largo del tiempo. Tenga en cuenta que los diferentes procesos asignan y desasignan memoria según sea necesario, por lo que puede ver las diferencias, pero a medida que la fuga continúa, debe ver un proceso que consume continuamente más memoria.
Nota: es normal que algunos procesos, como el protocolo de gateway fronterizo (BGP) o el router OSPF (Open Shortest Path First, Ruta de acceso más corta primero), utilicen más de un megabyte de memoria; esto no significa que se estén perdiendo.
Para identificar el proceso que consume más memoria, compare la columna Holding 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 significativa de memoria, recopile el comando show memory allocation-process totals o el comando show memory summary para obtener una solución de problemas adicional. A continuación, póngase en contacto con el centro de asistencia técnica Cisco Technical Assistance Center (TAC) y proporciónele la información que ha recopilado, junto con un resumen de show technical-support del router.
La herramienta Output Interpreter le permite recibir un análisis del comando show memory allocation-process totals o del resultado show memory summary.
Nota: solo los usuarios registrados de Cisco tienen acceso a la información y las herramientas internas de Cisco.
La tabla muestra 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 construya sus estructuras de datos.
Utilizado = la cantidad de memoria asignada actualmente.
Libre = la cantidad de memoria actualmente libre.
Menor = la menor cantidad de memoria libre registrada por el router desde la última vez que se inició.
Largest= el bloque de memoria más grande actualmente disponible.
El comando show memory allocation-process totals contiene la misma información que las tres primeras 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.
En espera = la cantidad total de bytes que actualmente tiene 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 *dead* no es un proceso real. Está ahí para dar cuenta de la memoria asignada bajo el contexto de otro proceso que ha terminado. El núcleo recupera la memoria asignada a este proceso y el propio router la devuelve al grupo de memoria cuando es necesario. Esta es la manera en que el IOS de Cisco maneja la memoria. Un bloque de memoria se considera muerto si el proceso que creó el bloque sale (ya no se ejecuta). Cada bloque realiza un seguimiento de la dirección y el pid del proceso que lo creó. Durante el recuento periódico de memoria, si el proceso que el programador descubre de un pid de bloque no coincide con el proceso que el bloque recordaba, el bloque se marca como muerto.
Por lo tanto, la memoria marcada como perteneciente al proceso *Dead* fue asignada bajo el control de un proceso que ya no se ejecuta. Es normal tener un pedazo significativo de la memoria en tal estado. Aquí tiene un ejemplo:
La memoria se asigna cuando la traducción de direcciones de red (NAT) se configura durante una sesión Telnet. Esa memoria se contabiliza bajo el proceso Telnet ("Virtual Exec"). Una vez finalizado este proceso, la memoria para la configuración NAT sigue en uso. Esto se muestra con el proceso *dead*.
Puede ver en qué contexto se asignó la memoria con el show memory dead
en la columna "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 una pérdida de memoria y el proceso *Dead* parece ser el que consume la memoria, incluya un show memory dead
en la información proporcionada al TAC de Cisco.
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 suceder que poco después, la memoria se libere y el problema desaparezca (por ejemplo, la red se estabilice). La escasez de memoria también puede deberse a una 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 el router no se ha reiniciado, introduzca el 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 sobre qué proceso consumió mucha memoria:
Si el uso de memoria grande se debió a:
evento normal, la solución es instalar más memoria.
evento raro o anormal, resuelva el problema relacionado. Entonces puede decidir comprar memoria extra para un futuro "seguro".
Esta situación significa que un proceso ha consumido una gran cantidad de memoria del procesador y luego liberó la mayor parte o la totalidad de ella y deja fragmentos de memoria todavía asignados por este proceso o por otros procesos que asignaron memoria a lo largo del problema. Si el mismo evento ocurre varias veces, la memoria puede fragmentarse en bloques muy pequeños, hasta el punto en que todos los procesos que requieren un bloque de memoria más grande no pueden obtener la cantidad de memoria que necesitan. Esto puede afectar el funcionamiento del router en la medida en que no pueda conectarse al router y reciba un mensaje si la memoria está muy fragmentada.
Este problema se caracteriza por un valor bajo en la columna "Mayor" (menos de 20.000 bytes) del show memory
, pero un valor suficiente en la columna "Liberado" (1 MB o más), o alguna otra amplia disparidad entre las dos columnas. Esto puede suceder cuando el router tiene muy poca memoria, ya que no hay rutina de fragmentación en el IOS de Cisco.
Si suspende la fragmentación de la memoria, cierre algunas interfaces. Esto puede liberar los bloques fragmentados. Si esto funciona, la memoria se comporta con normalidad, y todo lo que tiene que hacer es agregar más memoria. Si cuando cierra interfaces no ayuda, puede ser un error de funcionamiento. La mejor forma de proceder es ponerse en contacto con el representante de soporte técnico de Cisco para obtener la información que ha recopilado.
Esta situación puede ser identificada por el proceso en el mensaje de error. Si el proceso aparece como <nivel de interrupción>, como en el siguiente ejemplo, la falla de asignación de memoria es causada por un problema de software.
"%SYS-2-MALLOCFAIL: Memory allocation of 68 bytes failed from 0x604CEF48, pool Processor, alignment 0-Process=, ipl= 3"
Este es un bug del Sistema Operativo de Internet de Cisco (Cisco IOS). Puede utilizar el Bug Toolkit para buscar un ID de bug de software coincidente para este problema. Una vez identificado el error de funcionamiento del software, actualice a una versión de software del IOS de Cisco que contenga la solución para resolver el problema.
Nota: solo los usuarios registrados de Cisco tienen acceso a la información y las herramientas internas de Cisco.
Las listas de acceso pueden consumir una gran cantidad de memoria cuando se utilizan por usuario. Las listas de acceso son demasiado grandes para clasificarlas como mini listas de control de acceso (ACL) y ahora se compilan como turbo ACL. Cada vez que esto ocurre, el proceso TACL tiene que iniciar y procesar la nueva ACL. Esto puede dar lugar a que se permita o deniegue el tráfico en función del tiempo de compilación y el tiempo de proceso disponible.
Las ACL compiladas deben enviarse a XCM. Cuando sólo hay espacio limitado disponible y una vez que se ejecuta la memoria de la misma, se ven los mensajes de la consola y se inicia el desfragmentador de memoria.
Esta es la solución temporal:
Uso de ACL concisas, menor número de motores de control de aplicaciones (ACE) que se pueden compilar como mini ACL y que pueden reducir tanto el consumo de memoria como la potencia de proceso para la compilación.
Uso de ACL predefinidas en el router a las que se hace referencia mediante el atributo radius filterID.
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 antiguo sólo tiene 16 MB de memoria, y las versiones empresariales de la versión del software del IOS de Cisco posterior a la versión 11.0 tienen más de 8 MB cuando no están comprimidas. 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 arranque para que el router tenga mensajes de error relacionados con la memoria.
La solución es habilitar el inicio rápido desde el registro de configuración para que el RP sólo cargue un subconjunto mínimo de la imagen del software del IOS de Cisco en ROM y luego cargue el software completo del IOS de Cisco desde Flash. Para activar Fast Boot (Inicialización rápida), establezca el registro de configuración en 0x2112. Esto también puede acelerar el proceso de arranque.
Con la función UT Discovery de CiscoWorks puede hacer que la cantidad de memoria libre se vuelva muy pequeña en algunos de sus routers. El comando show proc memory puede indicar una gran cantidad de memoria retenida por el proceso de "entrada IP". Este es un caso particular del problema de Gran Cantidad de Memoria Usada para Procesos Normales o Anormales para el proceso de "Entrada IP", que también puede resultar en un problema de Fragmentación de Memoria, si la condición de memoria baja hace que la memoria se fragmente.
La función UT Discovery hace que la Estación de administración de redes envíe un barrido de ping para todas las IP en cada subred detectada. Los problemas de memoria son causados por el aumento del tamaño de la memoria caché de IP fast-switching en el router porque se crean nuevas entradas de memoria caché para cada nuevo destino. Dado que la máscara utilizada para las entradas en la memoria caché depende de cómo se divide en subredes, la presencia de una dirección con una máscara de 32 bits (por ejemplo, una dirección de loopback) en una red principal hace que todas las entradas de esa red utilicen una máscara de 32 bits. Esto da como resultado la creación de un gran número de entradas de caché y el uso de una gran cantidad de memoria.
La mejor solución es deshabilitar UT Discovery. Para ello, siga estos pasos:
Diríjase a C:\Program Files\CSCOpx\etc\cwsi\ANIServer.properties.
Agregue "UTPingSweep=0".
Reinicie ANI.
Esto puede hacer que la tabla de seguimiento de usuarios pierda algunos servidores finales o quede obsoleta (esto puede ser un problema con otra aplicación de Cisco llamada Herramienta de registro de usuarios, que depende de UT), pero no afecta a la Detección de campus que utiliza solamente 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 en el inicio). Consulte Cómo Elegir la Mejor Trayectoria de Switching de Router para su Red para obtener más información sobre CEF y otras trayectorias de switching disponibles.
Hay muchas otras aplicaciones que pueden dar lugar a situaciones similares de memoria baja. En la mayoría de los casos, la causa raíz del problema no es el router, sino la propia aplicación. Normalmente, debe poder evitar esas tormentas de paquetes comprobando la configuración de la aplicación.
Algunos routers (por ejemplo, las series 2600, 3600 y 4000) requieren una cantidad mínima de memoria de E/S para admitir determinados procesadores de interfaz.
Si el router se ejecuta con poca memoria compartida, incluso después de una recarga, puede eliminar físicamente las interfaces para resolver este problema.
En los routers serie 3600, el comando de configuración global memory-size iomem i/o-memory-percentage
se puede utilizar para reasignar el porcentaje de DRAM que se utilizará para la memoria de E/S y la memoria del procesador. Los valores permitidos para i/o-memory-percentage son 10 , 15 , 20 , 25 (el valor predeterminado), 30 , 40 y 50. Se requiere un mínimo de 4 MB de memoria para la memoria de E/S.
Para resolver este problema, consulte:
Requisitos de memoria compartida para los routers 4000/4500/4700.
Si tiene el resultado de un show buffers
comando o show technical-support
(en modo de activación) desde su dispositivo Cisco, puede utilizar Output Interpreter para mostrar posibles problemas y soluciones.
Nota: solo los usuarios registrados de Cisco tienen acceso a la información y las herramientas internas de Cisco.
Cuando un proceso finaliza con un búfer, el proceso debe liberar el búfer. Una fuga de memoria intermedia se produce cuando el código olvida procesar una memoria intermedia o se olvida de liberarla después de que haya terminado con el paquete. Como resultado, el agrupamiento de búferes continúa creciendo a medida que más y más paquetes se atascan en las memorias intermedias. Puede identificar una fuga de búfer con el comando show buffers
comando. Algunos de los agrupamientos de búferes públicos deben ser anormalmente grandes con pocos búferes libres. Después de una recarga, puede ver que el número de memorias intermedias libres nunca se acerca al número de memorias intermedias totales.
La herramienta Output Interpreter (Intérprete de salida) le permite recibir un análisis del show buffers
resultado.
En el siguiente ejemplo, las memorias intermedias intermedias se ven afectadas. show buffers
indica que se utilizan casi 8094 memorias intermedias y que no se liberan (8122 en total 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)
Este es un bug del software del IOS de Cisco. Actualice a la última versión de su tren de versiones para corregir los errores conocidos de fuga de memoria intermedia (por ejemplo, si está ejecutando la versión 11.2(14) del software del IOS de Cisco, actualice a la última imagen de la versión 11.2(x). Si esto no ayuda, o si no es posible actualizar el router, emita estos siguientes comandos para el conjunto de problemas cuando el router tenga poca memoria. Estos comandos pueden mostrar información adicional sobre el contenido de los buffers:
show buffer old
muestra búferes asignados con más de un minuto de antigüedad
show buffer pool
(small - middle - big - verybig - large - huge)
muestra un resumen de las memorias intermedias para el conjunto especificado
show buffer pool
(small - middle - big - verybig - large - huge) dump
muestra un volcado hexadecimal/ASCII de todas las memorias intermedias en uso de un conjunto determinado.
Consulte Troubleshooting de Fugas de Buffer para obtener más detalles.
Este problema es específico de la serie 7500. Si el router se queda sin memoria "rápida", puede utilizar su RAM dinámica (DRAM) principal. No se requiere ninguna acción.
trying
para eliminar la entrada de prefijo [dirección_IP]/[dec] (se esperaba [hex], se obtuvo [hex])El mensaje de error IPFAST-4-RADIXDELETE: Error al intentar eliminar la entrada de prefijo [dirección_IP]/[dec] (se esperaba [hex], se obtuvo [hex]) indica que la tabla de memoria caché de Fast Switching del router está dañada. Cuando el router intenta borrar la tabla de caché bajo el proceso normal o el clear ip cache
se ingresa, el sistema no puede eliminar las entradas debido a la corrupción de la memoria. Cuando el router no puede eliminar dicha entrada, se informa el mensaje IPFAST-4-RADIXDELETE.
Para resolver un problema de corrupción de la memoria de la tabla de memoria caché, se necesita un reinicio completo del router. Un reinicio puede dividir las estructuras de memoria del sistema de nuevo y permitir que la memoria caché rápida para reconstruir sin corrupción.
El motivo de %SYS-2-CHUNKEXPANDFAIL: no se pudo expandir el grupo de fragmentos para el mapa de bits TACL. Ningún mensaje de error de memoria disponible es que no queda suficiente memoria del procesador para aumentar el grupo de fragmentos especificado. Es posible que sea causada por un proceso que se comporta de manera anormal.
La solución alternativa es capturar periódicamente (según la frecuencia del problema) la salida de estos comandos para que se pueda monitorear el uso de memoria del router:
show processes memory sorted
show memory statistics
show memory allocating-process totals
Siga estos pasos:
Verifique los requisitos de memoria para su versión de software del IOS de Cisco o conjunto de funciones.
Si es posible, actualice a la última versión de software del IOS de Cisco en su tren de versiones.
Compruebe si hay una gran cantidad de memoria utilizada para procesos normales o anormales. Si es necesario, agregue más memoria .
Compruebe si se trata de una fuga o fragmentación (fuga de búfer en routers de gama alta).
Recopile la información pertinente y póngase en contacto con el TAC.
Siga estos pasos:
Compruebe los requisitos de memoria compartida (consulte Memoria compartida insuficiente para las interfaces).
Si es posible, actualice a la versión más reciente del software Cisco IOS en su tren de versiones.
Determine qué conjunto de búferes se ve afectado, recopile la información pertinente y póngase en contacto con el TAC de Cisco.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
2.0 |
19-Jan-2023 |
Formato actualizado, alertas de CCW fijas. Recertificación. |
1.0 |
02-Nov-2001 |
Versión inicial |