Nothing Special   »   [go: up one dir, main page]

Trouble Malloclite 00

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

El resolver problemas de las fugas de memoria

de MallocLite
Contenido
Introducción
Antecedentes
Troubleshooting
Identifique la aplicación responsable del escape
Decodifique la PC del distribuidor
Investigue las estadísticas de la memoria de MallocLite
Inhabilite MallocLite

Introducción
Este documento describe cómo resolver problemas las fugas de memoria de MallocLite en las
Plataformas del ®software del Cisco IOS.

También especifica la información que usted debe recopilar antes de que usted abra un caso del
centro de la asistencia técnica de Cisco (TAC) o recargue el dispositivo. Recoja las salidas
mencionadas en este documento, y asocíelas al caso de TAC para ayudar a apresurar la solución
de problemas.

Antecedentes
MallocLite es utilizado por el encargado de la memoria para afectar un aparato los pedazos
pequeños, de tamaño fijo de memoria, conocidos como pedazos, para las asignaciones inferior o
igual los bytes 128. Las pequeñas asignaciones de memoria no tienen los gastos indirectos de
una encabezado de bloque para cada asignación. Esta característica se utiliza para las piscinas
de memoria del procesador solamente.

Cada encabezado de bloque de memoria toma cerca de 48 bytes de la memoria, y el bloque más
pequeño toma cerca de 24 bytes. Con un acercamiento tradicional en el software del Cisco IOS
para cada asignación, usted consumiría por lo menos 72 (48 + 24) bytes de la memoria, incluso si
usted necesita afectar un aparato solamente 8 bytes de los datos reales.

Con MallocLite, estos gastos indirectos se pueden reducir por el uso de los pedazos. Todavía hay
un ciertos gastos indirectos, porque los pedazos tienen que ser manejados. Sin embargo, puesto
que los pedazos son de tamaño fijo, se manejan de una manera diferente que los bloques, y los
gastos indirectos son menos.

Es la responsabilidad de las aplicaciones que utilizan la memoria de MallocLite para liberarla


correctamente. MallocLite enmascara al usuario de la memoria.

Troubleshooting
Note: El Analizador de Cisco CLI (solo clientes registrados) admite determinados comandos
show. Utilice el Analizador de Cisco CLI para ver un análisis de los resultados del comando
show.

Identifique la aplicación responsable del escape

Es generalmente difícil identificar un bug existente si usted busca solamente por la palabra clave
del malloclite.

Este ejemplo muestra que el proceso del *MallocLite* está celebrando una cantidad anormal de
memoria:

#show processes memory sorted

Processor Pool Total: 1614282720 Used: 1544726580 Free: 69556140


I/O Pool Total: 313524224 Used: 115564032 Free: 197960192

PID TTY Allocated Freed Holding Getbufs Retbufs Process


0 0 0 0 1476043512 0 0 *MallocLite*
Usted necesita identificar la aplicación exacta que es responsable del escape. Tres métodos
posibles de la identificación son:

● Decodifique la PC del distribuidor.


● Investigue las estadísticas de la memoria de MallocLite.
● Inhabilite MallocLite.

Decodifique la PC del distribuidor

Incluso con MallocLite se giró, usted puede ver generalmente lo que funcionar preguntó la
memoria. La salida del comando show memory allocating-process totals pudo mostrar diversos
valores de la PC aunque el nombre señalado es MallocLite:

#show memory allocating-process totals


<snip>
Allocator PC Summary for: Processor
Displayed first 2048 Allocator PCs only
PC Total Count Name
0x620BE3C4 42807572 594 MallocLite
0x620ADDD4 13597308 193 MallocLite
0x60738BB0 8909824 122 MallocLite
0x620AE0E0 2060716 31 MallocLite
0x620AE10C 1982780 30 MallocLite
Un ingeniero del TAC de Cisco puede decodificar los valores de la PC desde arriba de la lista
(con el total más alto). Esto ayuda a identificar la aplicación que tiene la fuga de memoria.

Investigue las estadísticas de la memoria de MallocLite

Entre las mejoras agregadas en el Cisco IOS Software Release 15.1T era un nuevo CLI que
visualiza el resumen de la memoria de MallocLite afectado un aparato por cada PC. El comando
de los lite-pedazos de la memoria de la demostración puede ayudarle a identificar las aplicaciones
que están utilizando una gran cantidad de bloques de MallocLite.
show memory lite-chunks { statistics | totals } { summary { pool | { all | pool } } }
Refiera a la referencia del comando para los detalles del comando de los lite-pedazos de la
memoria de la demostración.

CLI : show memory lite-chunks totals


DESC : Summary of all pools, based on alloc pc.
This cli can be used to find the alloc_pc which is using large amount memory
allocated from all mlite pools

CLI : show memory lite-chunks statistics


DESC : Displays number of allocated & free mlite chunks

CLI : show memory lite-chunks summary pool pool


DESC : Show summary of particular mlite pool
This cli can be used to find the alloc_pc which is using large amount of memory
in individual mlite pool

CLI : show memory lite-chunks summary pool all


DESC : Show individual summary of all mlite pools

CLI : show memory lite-chunks pool pool


DESC : Show All chunk elements in the specified pool

CLI : show memory lite-chunks pool all


DESC : show all chunk elements in all mlite pools
Ejemplos de la salida de este comando include:

#show memory lite-chunks ?


pool Malloc lite pool
statistics Malloc lite statistics
summary Malloc Lite summary
totals Malloc Lite Allocating totals

#show memory lite-chunks statistics

Pool Inuse Free


8-Bytes 140 1904
20-Bytes 173 1313
44-Bytes 171 791
68-Bytes 24 687
96-Bytes 26 519
128-Bytes 20 410

#show memory lite-chunks totals

PC Total Count
26067AE0 2112 33
2269E68C 1932 29
2269FACC 1664 29
2269F964 1664 26
2269FA9C 1580 29
26067FB4 1360 34
23CD2A0C 1036 7

#show memory lite-chunks pool ?

128-Bytes 128 bytes pool


20-Bytes 20 bytes pool
44-Bytes 44 bytes pool
68-Bytes 68 bytes pool
8-Bytes 8 bytes pool
96-Bytes 96 bytes pool
all all pools

#show memory lite-chunks summary pool 8

8 bytes pool
PC Total Count
2269FB10 812 29
23612084 700 25
2269F9F8 700 25
2269F9EC 700 25
Una vez más el ingeniero de TAC puede decodificar los valores de la PC con el total más alto e
identificar la aplicación que se está escapando la memoria.

Neutralización MallocLite

La característica de MallocLite se activa por abandono. Para investigar el escape de MallocLite,


usted puede inhabilitar MallocLite:

(config)#no memory lite


La memoria escapada todavía estará bajo MallocLite hasta la recarga siguiente; sin embargo,
usted puede comenzar a vigilar otros escapes con la memoria de los procesos de la demostración
clasificada y los comandos show memory allocating-process totals. Los escapes ahora
aparecerán bajo proceso real.

Si el dispositivo se ejecuta muy bajo en la memoria, usted debe salvar la configuración y recargar
el dispositivo para release/versión la memoria:

#wr
#reload
La memoria pudo agotar otra vez en un cierto plazo, así que utilice la memoria de los procesos de
la demostración clasificada y los comandos show memory allocating-process totals para vigilar el
uso de la memoria de esa punta adelante.

Note: Si usted inhabilita con eficacia MallocLite con el ningún comando de lite de la memoria
y recarga el dispositivo, la salida del comando de los lite-pedazos de la memoria de la
demostración estará vacía.

Refiera a la referencia del comando para los detalles del comando de lite de la memoria.

También podría gustarte