Contenido

Introducción

Overview

Registros/Comprobaciones básicas

Comprobaciones básicas

Registros

Análisis

Plan de acción

Escenario 1. Debido a la alta utilización de memoria

Situación hipotética 2. Debido al uso elevado de la CPU

Introducción

Este documento describe cómo resolver problemas de sessmgr o aamgr que están en estado "advertido" o "sobre".

Overview

Administrador de sesiones (Sessmgr): es un sistema de procesamiento de suscriptores que admite varios tipos de sesiones y es responsable de gestionar las transacciones de los suscriptores. Sessmgr se suele emparejar con AAAManagers.

Administrador de autorización, autenticación y cuentas (Aamgr): es responsable de realizar todas las operaciones y funciones de protocolo AAA para suscriptores y usuarios administrativos dentro del sistema.

Figura 1 :: Distribución de los recursos de Staros

Registros/Comprobaciones básicas

Comprobaciones básicas

Para recopilar más detalles sobre el problema, debe verificar esta información con el usuario:

1. ¿Cuánto tiempo ha estado el sessmgr/aamgr en estado "advertir" o "sobre"?

2. ¿Cuántos sessmgrs/aaamgrs se ven afectados por este problema?

3. Debe confirmar si sessmgr/aamgr está en el estado "advertir" o "sobre" debido a la memoria o la CPU.

4. También debe comprobar si ha habido un aumento repentino del tráfico, que se puede evaluar examinando el número de sesiones por sessmgr.

Al obtener esta información, podrá entender y abordar mejor el problema que se le plantea.

Registros

1. Obtenga Show Support Details (SSD) y los registros del sistema que capturan la marca de tiempo problemática. Se recomienda recopilar estos registros al menos 2 horas antes del inicio del problema para identificar el punto de activación.

2. Capture archivos de núcleo para sessmgr/aamgr problemático y no problemático. Puede encontrar más información al respecto en la sección Análisis.

Análisis

Paso 1. Para comprobar el estado de sessmgr/aamgr afectado mediante comandos.

show task resources         -

--------- to check detail of sessmgr/aamgr into warn/over state and from the same you also get to know current memory/cpu utlization

Output ::

******** show task resources *******

Monday May 29 08:30:54 IST 2023

task          cputime      memory         files      sessions

cpu facility inst used  alloc used alloc    used allc    used allc   S   status

----------------------- ----------- ------------- --------- ------------- ------

2/0 sessmgr  297  6.48% 100% 604.8M 900.0M  210 500     1651 12000   I     good

2/0 sessmgr  300  5.66% 100% 603.0M 900.0M  224 500     1652 12000   I     good

2/1 aaamgr   155  0.90% 95%  96.39M 260.0M   21 500     -- --        -     good

2/1 aaamgr   170  0.89% 95%  96.46M 260.0M   21 500     -- --        -     good

Nota: El número de sesiones por sessmgr se puede verificar mediante este comando, como se muestra en el resultado del comando.

Ambos comandos ayudan a verificar el uso máximo de memoria desde que se recargó el nodo:

show task resources max

show task memory max

******** show task memory max *******

Monday May 29 08:30:53 IST 2023

task   heap     physical                     virtual

cpu facility inst   max          max     alloc           max    alloc status

----------------------- ------ ------------------ ------------------ ------

2/0 sessmgr  902   548.6M   66% 602.6M  900.0M     29%  1.19G    4.00G good

2/0 aaamgr   913   68.06M   38% 99.11M  260.0M     17%  713.0M   4.00G good

Nota: El comando memory max proporciona la memoria máxima utilizada desde que se recarga el nodo. Este comando nos ayuda a identificar cualquier patrón relacionado con el problema, como si el problema comenzó después de una recarga reciente o si ha habido una recarga reciente que nos permite verificar el valor máximo de memoria. Por otro lado, "show task resources" y "show task resources max" proporcionan resultados similares, con la distinción de que el comando max muestra los valores máximos de memoria, CPU y sesiones utilizadas por un sessmgr/aamgr específico desde la recarga.

show subscriber summary apn <apn name> smgr-instance <instance ID> | grep Total

-------------- to check no of subscribers for that particular APN in sessmg

Plan de acción

Escenario 1. Debido a la alta utilización de memoria

1. Recopile SSD antes de reiniciar/matar la instancia de sessmgr.

2. Recopile el vaciado de memoria para cualquiera de los sessmgr afectados.

task core facility sessmgr instance <instance-value>

3. Recopile la salida de montón utilizando estos comandos en el modo oculto para el mismo sessmgr y aamgr afectados.

show session subsystem facility sessmgr instance <instance-value> debug-info verbose

show task resources facility sessmgr instance <instance-value>

Heap outputs:

show messenger proclet facility sessmgr instance <instance-value> heap depth 9

show messenger proclet facility sessmgr instance <instance-value> system heap depth 9

show messenger proclet facility sessmgr instance <instance-value> heap

show messenger proclet facility sessmgr instance <instance-value> system

show snx sessmgr instance <instance-value> memory ldbuf

show snx sessmgr instance <instance-value> memory mblk

4. Reinicie la tarea sessmgr con este comando:

task kill facility sessmgr instance <instance-value>

Precaución: Si hay varios sessmgrs en el estado "warn" o "over", se recomienda reiniciar los sessmgrs con un intervalo de 2 a 5 minutos. Comience por reiniciar sólo 2 a 3 sessmgrs inicialmente, y luego espere hasta 10 a 15 minutos para observar si esos sessmgrs vuelven al estado normal. Este paso ayuda a evaluar el impacto del reinicio y a supervisar el progreso de la recuperación.

5. Compruebe el estado de sessmgr.

show task resources facility sessmgr instance <instance-value> -------- to check if sessmgr is back in good state

6. Recoja otra SSD.

7. Recopile la salida de todos los comandos CLI mencionados en el Paso 3.

8. Recopile el vaciado de memoria para cualquiera de las instancias de sessmgr correctas mediante el comando mencionado en el Paso 2.

Nota: Para obtener archivos de núcleo para instalaciones problemáticas y no problemáticas, tiene dos opciones. Una, puede recopilar el archivo de núcleo del mismo sessmgr después de que vuelva a la normalidad después de un reinicio. Alternativamente, puede capturar el archivo de núcleo desde un sessmgr saludable diferente. Ambos enfoques proporcionan información valiosa para el análisis y la resolución de problemas.

Una vez que recopile las salidas del montón, póngase en contacto con Cisco TAC para encontrar la tabla de consumo de montón exacta.

A partir de estas salidas de montón, es necesario comprobar la función que está utilizando más memoria. En función de esto, el TAC investiga el objetivo previsto de la utilización de funciones y determina si su uso está en consonancia con el aumento del volumen de tráfico/transacciones o con cualquier otra razón problemática.

Los resultados del montón se pueden ordenar mediante una herramienta a la que se accede mediante el vínculo dado como Memory-CPU-data-sort-tool.

Nota: aquí en esta herramienta, hay varias opciones para diferentes instalaciones. Sin embargo, debe seleccionar "tabla de consumo de montón" donde cargar salidas de montón y ejecutar la herramienta para obtener la salida en un formato ordenado.

Situación hipotética 2. Debido al uso elevado de la CPU

1. Recopile SSD antes de reiniciar o matar la instancia de sessmgr.

2. Recopile el vaciado de memoria para cualquiera de los sessmgr afectados.

task core facility sessmgr instance <instance-value>

3. Recopile la salida de montón de estos comandos en el modo oculto para el mismo sessmgr/aamgr afectado.

show session subsystem facility sessmgr instance <instance-value> debug-info verbose

show task resources facility sessmgr instance <instance-value>

show cpu table

show cpu utilization

show cpu info ------ Display detailed info of CPU.

show cpu info verbose ------ More detailed version of the above

Profiler output for CPU

This is the background cpu profiler. This command allows checking which functions consume

the most CPU time. This command requires CLI test command password.

show profile facility <facility instance> instance <instance ID> depth 4

show profile facility <facility instance> active facility <facility instance> depth 8

4. Reinicie la tarea sessmgr con este comando:

task kill facility sessmgr instance <instance-value>

5. Compruebe el estado de sessmgr.

show task resources facility sessmgr instance <instance-value> -------- to check if sessmgr is back in good state

6. Recoja otra SSD.

7. Recopile la salida de todos los comandos CLI mencionados en el Paso 3.

8. Recopile el vaciado de memoria para cualquiera de las instancias de sessmgr correctas mediante el comando mencionado en el Paso 2.

Para analizar tanto los escenarios de memoria alta como los de CPU, examine las estadísticas masivas para determinar si hay un aumento legítimo en las tendencias del tráfico.

Además, verifique las estadísticas de volumen para las estadísticas de nivel de tarjeta/CPU.