En este artículo, se aborda la lista de resultados que se deben recopilar en los casos en los que se sospecha de una pérdida de memoria.
La pérdida de memoria en la mayoría de los casos es un proceso muy lento y se requiere un análisis extenso de los registros en dichos casos.
Es posible que necesitemos varias muestras de las salidas para nuestro análisis y para comprender qué parte de la memoria se ve afectada.
Herramienta de supervisión de memoria
Se incorporó una herramienta de supervisión de memoria en las versiones S4810, MXL y Z9000 9.1 (0.0P6+). Esta herramienta captura el uso detallado de la asignación de datos valiosos para la solución de posibles pérdidas de memoria. Se puede acceder a la herramienta de supervisión de memoria a través de una sesión de consola o Telnet.
1: Habilitar la herramienta de supervisión de memoria
Para habilitar la herramienta de supervisión de la memoria.
Uso, p. ej.:
remote-exec cp f10mc -i 0x87
Ejemplo:
Comando:
Z9000#remote-exec cp f10mc -i 0x87
Respuesta del sistema:
f10mc -i 0x87
f10mc: Inicializado para malloc, pool, pool_cache, con filtro para asignaciones de F10
SStk-0 #
2: Recopilación de datos
2a: Recopilación periódica de datos generales de memoria
Recopile los datos periódicamente (intervalos de 4 a 6 horas) cada día durante varios días. Para obtener el resultado, ejecute el siguiente comando. El siguiente comando muestra los detalles generales de la memoria del sistema. El número de ciclo en el resultado aumentará en uno cada vez que se recopile el resultado.
Uso, p. ej.:
remote-exec cp f10mc -r 0
Ejemplo:
Comando:
Z9000#remote-exec cp f10mc –r 0
Respuesta del sistema:
f10mc -r 0
{
-----------<ciclo 3>-----------
#### Este ciclo: 46 176 bytes en 56 asignaciones ####
M: 1888(16); +2329280(18371), -2329280(18371)
P: 0(0); +0(0), -0(0)
PC: 44288(40); +3053056(11226), -3053056(11226)
#### Desde MCInit: 708902 bytes que conservan las asignaciones de 2112 ####
M: 52006(1338); +110122134(928732), -110070128(927394)
P: 0(0); +0(0), -0(0)
PC: 656896(774); +148369408(548411), -147712512(547637)
}
SStk-0 #
Se puede solicitar el siguiente resultado, además de la salida de la herramienta de supervisión de memoria.
Comandos relacionados:
remote-exec cp top -b -o res all
remote-exec cp netstat –m
remote-exec cp vmstat –s
show process memory
show process memory management
show memory
show clock
2b: Recopilación de datos de memoria detallados
Después de que se haya completado el período de recopilación para el comando "remote-exec cp f10mc –r 0", se solicitará la salida del siguiente comando. El siguiente comando proporcionará los detalles precisos de la memoria del sistema.
Uso, p. ej.:
remote-exec cp f10mc -r 1
Ejemplo:
Comando:
Z9000#remote-exec cp f10mc -r 1
Respuesta del sistema:
f10mc -r 1
{
PC:mbpl:0xC71F5200:256:3
PC:mclpl:0xD7C24800:2048:3
PC:mbpl:0xC71F3500:256:3
{salida truncada}
PC:mbpl:0xCAFC7F00:256:2
PC:mclpl:0xD7C4D000:2048:2
-----------<ciclo 3>-----------
#### Este ciclo: 286144 bytes que retienen 266 asignaciones ####
M: 3520(16); +21362(417), -20514(415)
P: 0(0); +0(0), -0(0)
PC: 282624(250); +1129472(2200), -1126912(2197)
#### Desde MCInit: 599392 bytes que retienen 542 asignaciones ####
M: 5216(20); +67838(1335), -62622(1315)
P: 0(0); +0(0), -0(0)
PC: 594176(522); +3513088(6660), -2918912(6138)
}
SStk-0 #
El equipo de ingeniería evaluará los datos recopilados y proporcionará detalles sobre cómo recopilar más información que ayudará a identificar el origen de la pérdida de memoria. Los resultados solicitados serán para las asignaciones de memoria sospechosas:
Uso, p. ej.:
remote-exec cp f10mc –c 0x<memory address>
Ejemplo:
Comando:
Z9000# remote-exec cp f10mc –c 0xCE0DDD00
Respuesta del sistema:
f10mc -c 0xCE0DDD00
PC:mbpl:0xCE0DDD00:256:2> 0xC0100EAD 0xC033DA54 0xC0137ADE 0xC0136DD0 0xC0142682 0xC013FA17 0xC0148C38 0xC037C808 0xC037BE3F 0xC09B805A
seguimiento de llamadas:
0xC0100EAD en Xsoftintr
0xC033DA54 en softint_dispatch
0xC0137ADE en ipintr
0xC0136DD0 en ip_input
0xC0142682 en tcp_input
0xC013FA17 en syn_cache_get
0xC0148C38 en tcp_template
0xC037C808 en m_gethdr
0xC037BE3F en m_get
0xC09B805A en f10MC_pool_cache_get_paddr
SStk-0 #
3: deshabilitar la supervisión de la memoria
Para deshabilitar la herramienta de supervisión de memoria después de que se complete la revisión de datos.
Uso, p. ej.:
remote-exec cp f10mc -i 0x0
Ejemplo:
Comando:
Z9000#remote-exec cp f10mc -i 0x0
Respuesta del sistema:
f10mc -i 0x0
f10mc: desinicializado
SStk-0 #