Introducción
Este documento describe el problema en el sessmgr que va A ADVERTIR el estado debido a la gran cantidad de flujos HTTP. Este problema está señalado sobre el Routers del servicio de Cisco Aggregrated (ASR) 5x00.
Problema
El estatus de Sessmgr es ADVIERTE y utilización de memoria alta.
******** show task resources *******Thursday July 24 17:44:58 IST 2014 task cputime memory files sessions cpu facility inst used allc used alloc used allc used allc S status----------------------- --------- ------------- --------- ------------- ------4/0 sessmgr 3 26% 100% 1.86G 1.86G 34 500 1766 28160 I warn
Estos registros de error se generan en el proceso. No hay impacto del suscriptor debido a este registro de error. Según el diseño una vez que la llamada se rechaza del sessmgr que está adentro ADVIERTA el estado, los intentos del sistema en diversos sessmgrs y la llamada va a través.
[sessmgr 10018 error] [4/0/6812 <sessmgr:3> sessmgr_func.c:44683] [software internal system syslog] Sessmgr-3 full (35200 effective number of calls, 1777 calllines in use, 51146 free flows, 31221 free aaa_sessions, 1777 used-mem-credits, 1777 used-sess-credits, 1948360 mem-usage, 1945600 mem-limit, 0 ecs-queue-usage, 70400 ecs-queue-limit, 16850 ecs-num-flows, 400000 ecs-max-flows, 2334720 ecs-mem-limit[ecs-flow/mem-values:valid], 0x86 limit-flags) - call rejected
Troubleshooting
El soporte de la demostración de la captura detalla la salida y la comprobación para las salidas de comando para resolver problemas más lejos.
El problema de memoria se relaciona con la cantidad de flujos que el sessmgr maneje. La correlación se puede considerar entre el sessmgr que tiene el consumo de memoria alta y gran cantidad de flujos.
******** debug acsmgr show memory usage *******Thursday July 24 17:50:06 IST 2014------------------------------------------------------------------------------ ! ! Caches Count !Instance Memory ! Flows ! Callline Data-Session TCP OOO ! ! Current Max ! Total Free Total Free Total Free!-------------------------------------------------------------------------------- 1 865.68M 43365 64360 5500 1178 56140 12775 1102 1064 2 852.05M 43879 64767 5500 1178 60150 16271 1102 1067 3 1902.68M 17252 276519 4400 2631 44110 26858 551 541
Para los sessmgrs afectados (y para uno inafectado), recoja estas salidas de comando, donde está el caso x de Sessmgr.
show messenger proclet facility sessmgr instance <x> heap show messenger proclet facility sessmgr instance <x> system heap task core facility sessmgr instance <x> show active-charging flows instance <x> show profile facility sessmgr active depth 8 head 201 show task resources faciltity sessmgr instance <x> max
Marque si las reglas y el grupo unoptimized de ruledefs consumen la porción de memoria.
debug acsmgr show rule-optimization-information debug acsmgr show grp-of-rdef-optimization-information
La consumición de la memoria más alta es debido a estas funciones basadas en las salidas de comando.
acs_http_pkt_inspection()acsmgr_alloc_buffer()snx_add_dbufs()sn_aaa_alloc_session_block()sgx_imsa_bind_user()
Usted puede también marcar máximo no de los flujos simultáneos HTTP logrados por las líneas de la llamada
******** debug acsmgr show flow-stats max-simultaneous-flows http *******Thursday July 24 17:50:04 IST 2014 Histogram of Max No of Simultaneous HTTP Flows attained by Calllines No Of Flows No Of Calllines 1 to 10 964712518 11 to 20 384105002 21 to 40 232987189 41 to 100 148938918 101 to 200 115919586 201 to 500 86729303 501 to 1000 69975385 1001 to 2000 59635906 2001 to 5000 50743511 5001 to 10000 44566999 > 10000 1044671491 ******** debug acsmgr show flow-stats cumulative http *******Thursday July 24 17:50:03 IST 2014 Histogram of Total Cumulative HTTP Flows by Calllines No Of Flows No Of Calllines 1 to 10 964712485 11 to 20 384104980 21 to 40 232987175 41 to 100 148938911 101 to 200 115919583 201 to 500 86729297 501 to 1000 69975377 1001 to 2000 59635907 2001 to 5000 50743509 5001 to 10000 44567004 > 10000 1044671452
Usted puede concluir que hay gran cantidad de sesiones HTTP que son afectadas un aparato y esto podría ser debido al tráfico HTTP pesado. También hay casi 1044671491 Calllines, que tienen mayor de 10000 en un momento de los flujos HTTP. Esto lleva al uso de memoria alta.
Solución
Usted tiene el CLI para limitar el número de flujos por el suscriptor
flow limit-across-applications
Cisco recomendaría configurar las límite-a través-aplicaciones del flujo a 5000 según lo recomendado bajo todas las Regla-bases afectadas dónde la gran cantidad de tráfico HTTP puede ser considerada.
Éste es el procedimiento para configurar el comando
In local context under Global configuration.# active-charging service ECS(config-acs)# rulebase GOLIVE(config-rule-base)# flow limit-across-applications 5000
Más información sobre este comando.
límite-a través-aplicaciones del flujo
Este comando permite que usted limite el número total de flujos simultáneos por Subscriber/APN enviado a un rulebase sin importar el tipo del flujo, o el límite fluye basado en el Tipo de protocolo bajo característica del control de sesión.
Producto:
ACS
Privilegio:
Administrador de seguridad, administrador
Modo:
Exec > ACS Configuration> Rulebase Configurationactive-charging service service_name > rulebase rulebase_nameEntering the above command sequence results in the following prompt:[local]host_name(config-rule-base)#
Sintaxis
flow limit-across-applications { limit | non-tcp limit | tcp limit }no flow limit-across-applications [ non-tcp | tcp ] no
Si está configurado previamente, borra la configuración de las límite-a través-aplicaciones del flujo del rulebase actual.
límite de las límite-a través-aplicaciones del flujo
Especifica el número máximo de flujos a través de todas las aplicaciones para el rulebase.
el límite debe ser un número entero a partir la 1 a 4000000000.
Predeterminado: Ningunos límites
límite de NON-TCP
Especifica el límite máximo de flujos del tipo del no TCP.
el límite debe ser un número entero a partir la 1 a 4000000000.
Predeterminado: Ningunos límites
límite tcp
Especifica el límite máximo de flujos TCP.
el límite debe ser un número entero a partir la 1 a 4000000000.
Predeterminado: Ningunos límites
Uso:
¿Utilice este comando de limitar el número total de flujos permitidos para un rulebase sin importar el tipo del flujo, o los flujos del límite basados en el protocolo? no TCP (sin conexión) o TCP (orientado a la conexión).
Si un suscriptor intenta excederse estos límites que el sistema desecha los paquetes de nuevo fluyen. Este proceso del límite de este comando tiene aspectos siguientes para el UDP, el TCP, el ICMP y algo de los flujos eximidos:
- UDP/ICMP: El sistema espera el descanso del flujo antes de poner al día el contador y de quitarlo de la cuenta del número de flujos.
- TCP: Después de que los extremos de un flujo TCP, sistema esperen un período corto para acomodar la retransmisión de cualquier paquete faltado a partir de un extremo. El TCP fluye ésos se termina, pero es todavía adentro período de la espera para el descanso se exime para este proceso del límite.
- Flujos eximidos: El sistema exime el resto de flujos especificados con el comando del límite-para-flujo-tipo del flujo en el modo de configuración de carga de la acción ACS fijado a no.
Ejemplo:
Este comando define el número máximo de 200000 flujos para el rulebase:
flow limit-across-applications 200000