El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe el problema en el sessmgr que va al estado ADVERTENCIA debido al gran número de flujos HTTP. Este problema se informa en los routers de servicios agregados (ASR) de Cisco 5x00.
El estado de Sessmgr es ADVERTENCIA y uso elevado de la memoria.
******** 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 errores se generan en el proceso.No hay impacto en el suscriptor debido a este registro de errores. Según el diseño una vez que la llamada es rechazada por sessmgr, que está en estado ADVERTENCIA, el sistema intenta en diferentes sessmgrs y la llamada pasa.
[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
Capture el resultado show support details y verifique los resultados del comando para resolver problemas adicionales.
El problema de memoria está relacionado con la cantidad de flujos que maneja el sessmgr. La correlación se puede ver entre sessmgr con alto consumo de memoria 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 no afectado), recopile estos resultados de comando, donde x es la instancia 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
Compruebe si las reglas no optimizadas y el grupo de reglas consumen mucha memoria.
debug acsmgr show rule-optimization-information debug acsmgr show grp-of-rdef-optimization-information
El mayor consumo de memoria se debe a estas funciones basadas en los resultados del comando.
acs_http_pkt_inspection() acsmgr_alloc_buffer() snx_add_dbufs() sn_aaa_alloc_session_block() sgx_imsa_bind_user()
También puede comprobar el número máximo de flujos HTTP simultáneos obtenidos por líneas de 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
Puede concluir que hay un gran número de sesiones HTTP asignadas y esto podría deberse al tráfico HTTP intenso. Además, hay casi 1044671491 Llamadas, que tienen más de 10000 flujos HTTP a la vez. Esto conlleva un uso elevado de la memoria.
Tiene la CLI para limitar el número de flujos por suscriptor
flow limit-across-applications
Cisco recomendaría configurar el límite de flujo entre aplicaciones a 5000 como se recomienda en todas las bases de reglas afectadas donde se puede ver un gran número de tráfico HTTP.
Este 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.
flujo límite entre aplicaciones
Este comando le permite limitar el número total de flujos simultáneos por Suscriptor/APN enviados a una base de reglas independientemente del tipo de flujo, o limitar los flujos según el tipo de protocolo bajo la función Control de sesión.
Producto:
ACS
Privilegio:
Administrador de seguridad, administrador
Modo:
Exec > ACS Configuration> Rulebase Configuration active-charging service service_name > rulebase rulebase_name Entering 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 se ha configurado previamente, elimina la configuración límite de flujo entre aplicaciones de la base de reglas actual.
flujo límite entre aplicaciones
Especifica el número máximo de flujos entre todas las aplicaciones para la base de reglas.
El límite debe ser un entero entre 1 y 4000000000.
Predeterminado: Sin límites
límite no TCP
Especifica el límite máximo de flujos de tipo no TCP.
El límite debe ser un entero entre 1 y 4000000000.
Predeterminado: Sin límites
límite TCP
Especifica el límite máximo de flujos TCP.
El límite debe ser un entero entre 1 y 4000000000.
Predeterminado: Sin límites
Uso:
Utilice este comando para limitar el número total de flujos permitidos para una base de reglas independientemente del tipo de flujo o limitar los flujos basados en el protocolo: no TCP (sin conexión) o TCP (orientado a la conexión).
Si un suscriptor intenta exceder estos límites, el sistema descarta los paquetes del nuevo flujo. Este procesamiento de límite de este comando tiene los siguientes aspectos para UDP, TCP, ICMP y algunos de los flujos exentos:
Ejemplo:
Este comando define el número máximo de flujos 200000 para la base de reglas:
flow limit-across-applications 200000