Contenido

Introducción

Pérdida de memoria

Syslog

Cómo identificar 9800 WLC han experimentado problema de pérdida de memoria

Resolución de problemas de pérdida de memoria en proceso IOS

Registros básicos de WLC

Para conjunto de memoria del procesador

Para conjunto de memoria de E/S

Resolución de problemas de pérdida de memoria a nivel de plataforma/Polaris

Recomendación

Introducción

Este documento describe una pérdida de memoria en el contexto de un controlador de LAN inalámbrica (WLC) Cisco Catalyst 9800.

Pérdida de memoria

Cuando un programa o proceso asigna memoria para uso temporal y no la desasigna correctamente cuando ya no se necesita, esa memoria permanece "en uso" desde la perspectiva del sistema operativo. A medida que el proceso continúa funcionando y falla repetidamente en la desasignación de memoria, la cantidad total de memoria utilizada por el proceso aumenta y hay menos memoria disponible para otros procesos y funciones del sistema. Las pérdidas de memoria suelen estar causadas por errores de software o problemas en el firmware del sistema o las aplicaciones que se ejecutan en él.

En el caso de un Cisco Catalyst 9800 WLC, una pérdida de memoria puede manifestarse de la siguiente manera:

- Menor rendimiento: a medida que la memoria se vuelve cada vez más escasa, el WLC posiblemente se ralentiza, lo que resulta en tiempos de respuesta más lentos para las funciones de administración o un rendimiento disminuido de los dispositivos cliente conectados a la red.

- Inestabilidad del sistema: los procesos críticos pueden empezar a fallar, lo que puede llevar a conexiones de cliente caídas, incapacidad para administrar el WLC u otros comportamientos erráticos.

- Desperfectos del sistema: En casos graves, el WLC puede posiblemente desplomarse y reiniciarse, especialmente si se queda sin memoria para las operaciones esenciales.

Nota: 9800 WLC puede experimentar un reinicio/desperfecto repentino para reclamar la memoria filtrada y recuperarse. Debido a que la pérdida de memoria es un comportamiento irregular, las fugas ocurren incluso después del reinicio a menos que la configuración/función causante de la fuga esté inhabilitada.

Syslog

%PLATFORM-4-ELEMENT_WARNING:R0/0: smand: RP/0 El valor de memoria usada 91% supera el nivel de advertencia 88%

Este mensaje imprime el nombre de los 3 procesos que más memoria consumen junto con el seguimiento, el ID del sitio de llamada y las llamadas diff:

%PLATFORM-4-ELEMENT_WARNING: Chasis 1 R0/0: smand: 1/RP/0: El valor de memoria usada 91% supera el nivel de advertencia 88%. Los principales asignadores de memoria son: Proceso: sessmgrd_rp_0. Tecla de seguimiento: 1#258b8858a63c7998252e96352473c9c6 ID del sitio de llamada: 11B8F825A8768000 (diff_call: 20941). Proceso: fman_fp_image_fp_0. Tecla de seguimiento: 1#36b34d8e636a89f6397a3b12acab9706 ID del sitio de llamada: 1944E78DF68EC002 (diff_call: 19887). Proceso: linux_iosd-imag_rp_0. Tecla de seguimiento: 1#8ec74901dc8e23a44e060e69d5820ece ID del sitio de llamada: E2AA338E11594003 (diff_call: 13404).

Cómo identificar 9800 WLC han experimentado problema de pérdida de memoria

Es importante abordar las fugas de memoria rápidamente ya que pueden comprometer la estabilidad y la confiabilidad de los servicios de red proporcionados por el WLC. Para diagnosticar una pérdida de memoria en un WLC, puede utilizar varios comandos en la CLI para monitorear el uso de la memoria a lo largo del tiempo. Pueden buscar procesos que estén utilizando una cantidad creciente de memoria sin liberarla o patrones que indiquen que la memoria no se está recuperando como se esperaba.

Compruebe cuánta memoria está totalmente asignada a la plataforma.

9800WLC#show version | in memory

cisco C9800-L-F-K9 (KATAR) processor (revision KATAR) with 1634914K/6147K bytes of memory.

32768K bytes of non-volatile configuration memory.

16777216K bytes of physical memory.

!! Determines Total platform memory available, Here it is 16GB

Compruebe cuánta memoria se asigna a cada conjunto.

9800WLC#show processes memory

Processor Pool Total: 1674013452 Used: 823578520 Free: 850434932

reserve P Pool Total: 102404 Used: 88 Free: 102316

lsmpi_io Pool Total: 6295128 Used: 6294296 Free: 832

Compruebe la utilización de recursos, incluido el uso de memoria. Si supera los niveles de advertencia o crítico, puede indicar una posible pérdida de memoria.

Utilización de memoria en 9800 WLC

Supervisar el uso general de la memoria para los recursos del plano de control

9800WLC#show platform software status control-processor brief

Slot  Status  1-Min  5-Min 15-Min

1-RP0 Healthy   0.52   0.75   0.80

Memory (kB)

Slot  Status    Total     Used (Pct)     Free (Pct) Committed (Pct)

1-RP0 Healthy 16327028 4898110(30%) 114218918 (70%) 5387920 (33%)

Supervise el tamaño de memoria asignada y utilizada para los procesos principales. Si el uso de memoria continúa aumentando mientras la memoria libre permanece fija o es demasiado baja, hay una alta probabilidad de una fuga de memoria en el nivel IOSd.

Estadísticas de memoria por proceso que comienzan desde el proceso de retención más alto

Para problemas de pérdida de memoria a nivel de plataforma, monitoree los contadores RSS (Resident Set Size). RSS indica la cantidad de memoria asignada a un proceso durante la ejecución. Si este valor aumenta rápidamente, podría significar una posible pérdida de memoria.

La plataforma procesa el uso de memoria desde el proceso de espera más alto

Resolución de problemas de pérdida de memoria en proceso IOS

En IOS XE, IOS funciona como un proceso (daemon) que se ejecuta en la parte superior del kernel de Linux, conocido como IOSd. Por lo general, IOSd se asigna entre el 35% y el 50% de la DRAM total disponible de la plataforma.

Registros básicos de WLC

Active timestamp para tener una referencia de tiempo para todos los comandos.

9800WLC#term exec prompt timestamp

Para revisar la información relacionada con la memoria y la configuración:

9800WLC#show tech-support wireless

9800WLC#show tech-support memory

Recopile el archivo de volcado de memoria o el informe del sistema si se genera

Mediante GUI

Vaya a Troubleshooting > Core Dumps and System Report

Vaciado de memoria e informe del sistema

Mediante CLI

9800WLC#show bootflash: | in core/system-report

9800WLC#copy bootflash:system-report/Core_file {tftp: | ftp: | https: ..}

Para conjunto de memoria del procesador

Compruebe la memoria por proceso comenzando desde el proceso de espera más alto.

9800WLC#show process memory sorted

Verifique las estadísticas de memoria total para el conjunto en cuestión. También muestra el bloque libre más grande y la memoria disponible más baja desde el inicio.

9800WLC#show memory Statistics

Compruebe el contador de programas (PC) que asignó una gran cantidad de memoria.

9800WLC#show memory allocation-process totals

Revise los bloques y trozos filtrados.

9800WLC#show memory debug leak chunks

!!This is CPU intensive cli and use only if above CLI output is not helping.

Para conjunto de memoria de E/S

Compruebe los principales asignadores.

9800WLC#show memory io allocating-process totals

Si el principal asignador es 'Packet Data or Pool Manager' , verifique qué caller_pc solicitó un gran número de búferes

9800WLC#show buffers

9800WLC#show buffers usage

Si la asignación superior es 'mananged_chunk_process()'  o 'Chunk Manager'  proceso, significa que uno o más fragmentos están asignando una gran cantidad de memoria.

9800WLC#show chunk summary

9800WLC#show chunk brief

Si el proceso MallocLite es el mejor asignador

9800WLC#show memory lite-chunks totals

9800WLC#show memory lite-chunks stats

Resolución de problemas de pérdida de memoria a nivel de plataforma/Polaris

Verifique el uso de memoria % para los recursos de memoria disponibles en la plataforma.

9800WLC#show Platform resources

Compruebe la instantánea general de la memoria del sistema.

9800WLC#show platform software process slot chassis active R0 Monitor | in Mem

Verifique todos los procesos de plataforma de memoria ordenados.

9800WLC#show process memory platform sorted

9800WLC#show platform software process memory chassid active r0 all sorted

Comprobar el último estado por hora de los sitios de llamadas.

9800WLC#show process memory platform accounting

Elija el primer competidor de las dos salidas CLI anteriores y habilite las depuraciones para los procesos individuales.

9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite stop

9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite clear

9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc backtrace start <CALL_SITE> depth 10

9800WLC#debug platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite start

!! Running these debugs has no impact to device

Recopile el resultado unos minutos (de 15 minutos a una hora) después de iniciar las depuraciones.

9800WLC#show platform software memory <process> chassis <1-2/active/standby> R0 alloc backtrace

!! Capture this output three times, with a 5-10 minutes interval between each capture, to identify the pattern.

Verifique call_diff, asigna y libera valor con el respectivo backtrace para cada proceso.

9800WLC#show platform software memory <process> chassis <1-2/active/standby> R0 alloc callsite brief

Nota: call_diff = allocs - frees

Si allocs = libera, no hay pérdida de memoria

Si libera = 0, pérdida de memoria

Si allocs != libera, tal vez o tal vez no sea pérdida de memoria (Si call_diff es más, indica altas posibilidades de fuga de memoria)

Capturar datos de la memoria de la base de datos para procesos individuales.

9800WLC#show platform software memory <process> chassis <1-2/active/standby>active R0 alloc type data brief

9800WLC#show platform software memory database <process> chassis <1-2/active/standby> chassis active R0 brief

Verifique la información de montaje del sistema para verificar el uso de memoria para el sistema de archivos virtual creado temporalmente.

9800WLC#show platform software mount

Recomendación

Refiérase a las guías de configuración, hojas de datos y notas de la versión relevantes para conocer las recomendaciones de memoria y los límites de escalado, y asegúrese de que el WLC se actualice a la última versión recomendada.