Contenido

Introducción

Antecedentes

Resumen del problema

Limitación

Solución/solución posible

Introducción

Este documento describe el problema de la memoria virtual BGP (RLIMIT) en los routers Cisco y describe los pasos que se deben tomar al encontrar este problema.

Antecedentes

Rlimit define el límite de recursos para un proceso en XR y varía según los requisitos de memoria de cada proceso. Estos límites pueden diferir entre las versiones, ya que se pueden ajustar en función de las nuevas necesidades y descubrimientos.Rlimit viene determinado por las asignaciones fijas de memoria para componentes como la memoria compartida, el kernel y dllmgr, por lo que no se puede configurar a través de CLI.

Resumen del problema

Memory usage spiked to 90% after the BGP peer connection was established.

This can also cause the BGP process to crash.

RP/0/RSP0/CPU0:Jul 15 01:04:24.815 GMT: bgp[1087]: %HA-HA_WD_LIB-4-RLIMIT :

wd_handle_sigxfsz: Reached 90% of RLIMIT_DATA RP/0/RSP0/CPU0:Jul

15 01:04:24.815 GMT: bgp[1087]:

%ROUTING-BGP-4-VIRTUAL_MEMORY_LIMIT_THRESHOLD_REACHED :

BGP virtual memory has reached 90% of the maximum allowed limit of 2281 MB for this platform This command shows the maximum amount of memory that any process can access.

RP/0/RSP0/CPU0:ipdsl-slp-colonias-4#show bgp process performance-statistics |

i RLIMIT Tue Feb 14 15:28:14.051 CDT Platform RLIMIT max: 2281701376 bytes

<<<<<<<<<<<

Este comando muestra el límite de memoria en el montón:

RP/0/RSP0/CPU0:ipdsl-slp-colonias-4#show bgp instance all scale BGP instance 0: 'default' ========================= VRF: default Neighbors Configured: 2 Established: 2 Address-Family Prefixes Paths PathElem Prefix Path PathElem Memory Memory Memory IPv4 Unicast 112649 225065 112649 9.88MB 13.74MB 6.77MB IPv6 Unicast 6358 12581 6358 645.73KB 786.31KB 391.17KB ------------------------------------------------------------------------------ Total 119007 237646 119007 10.51MB 14.50MB 7.15MB node: node0_RSP0_CPU0 ------------------------------------------------------------------ JID Text Data Stack Dynamic Dyn-Limit Shm-Tot Phy-Tot Process ------ ---------- ---------- ---------- ---------- ---------- ---------- ---------- ------- 1067 1M 10M 572K 2001M 2175M 145M 2012M bgp <<<<<<<<<<<<<< 343 8K 12K 128K 421M 1024M 30M 422M mibd_infra 1141 22M 5M 1012K 374M 2048M 95M 380M netconf Total text: 22893 pages data: 24102 pages stack: 6765 pages malloced: 21257 pages

Limitación

La restricción RLIMIT es un factor crítico en los sistemas cXR de 32 bits, donde se aplica un techo de memoria. Esta limitación afecta directamente a la memoria disponible para los procesos BGP.

Sin embargo, en los sistemas eXR de 64 bits, el RLIMIT aumenta significativamente. Esta mejora multiplica la memoria disponible para los procesos BGP, proporcionando un entorno más robusto para manejar tablas de ruteo más grandes y más peers.

Consulte la comparación de la asignación de memoria:

Device with RSP880-LT-TR and eXR has the RLIMIT for BGP as 7.4GB

RP/0/RSP0/CPU0:RP#show processes memory detail 10523 JID

Text Data Stack Dynamic Dyn-Limit Shm-Tot Phy-Tot Process

======================================================================

1087 2M 1030M 136K 41M 7447M 131M 183M bgp

Device having RSP880-LT-TR and cXR has the RLIMIT for BGP as 2.5GB

RP/0/RSP0/CPU0:RP#show processes memory detail 1087 JID Text Data Stack

Dynamic Dyn-Limit Shm-Tot Phy-Tot Process ------ ---------- ---------- ----------

---------- ---------- ---------- ---------- ------- 1087 1M 10M 356K 31M 2574M

35M 41M bgp

Solución/solución posible

Para resolver el problema de memoria con BGP, se pueden considerar estos pasos:

Actualización al sistema de 64 bits:

- BGP se beneficia de una mayor asignación de memoria en un sistema de 64 bits, aproximadamente 8 GB según lo definido por RLIMIT. Esta actualización puede ayudar a administrar las crecientes demandas de memoria de BGP.

Cambiar perfil ASR9k:

- Cambie el perfil ASR9k de la configuración predeterminada al perfil L3XL. Este ajuste aumenta la asignación de memoria para BGP, lo que puede ayudar a aliviar la presión de memoria.

- Tenga en cuenta que el cambio al perfil L3XL reduce la memoria disponible para otros procesos. Por lo tanto, es esencial evaluar el impacto en el rendimiento general del sistema.

- Antes de implementar el perfil L3XL, revise exhaustivamente la documentación de la plataforma para comprender sus implicaciones y garantizar la compatibilidad con los requisitos del sistema.

- Evaluar soft-reconfiguration inbound always botón.

- El uso del soft-reconfiguration inbound always botón requiere mucha memoria, especialmente si hay trayectos adicionales.

- Verifique los peers BGP que carecen de la capacidad de actualización de rutas y asegúrese de que este botón esté habilitado solamente para esos peers específicos.

- Quite este botón de los pares que admiten la actualización de rutas para recuperar la memoria.

- Implemente la política de rutas para denegar algunos prefijos:

- Cree una política de rutas para denegar ciertos prefijos, lo que puede ayudar a reducir el uso de memoria limitando el número de rutas que se deben procesar y almacenar.

- Reducción del Número de Peers BGP

- Reduzca el número de pares BGP en el router para reducir el consumo de memoria general. Este paso es particularmente útil si tiene un gran número de pares que contribuyen al uso elevado de la memoria.

- Reinicie el proceso BGP o recargue el router

- El reinicio manual del proceso BGP o la recarga del router pueden ayudar a liberar memoria. Se trata de una solución temporal, pero puede ser eficaz para mitigar los problemas de memoria inmediatos.

- Evaluación de funciones con uso intensivo de memoria

- Tenga en cuenta que ciertas funciones, como el enrutamiento ininterrumpido (NSR), las rutas adicionales y la ruta máxima, pueden contribuir a aumentar el uso de la memoria.

- Evalúe la necesidad de estas funciones y considere la posibilidad de desactivarlas u optimizarlas si no son fundamentales para las operaciones de red.

Estos pasos pueden administrar mejor el uso de la memoria y garantizar la estabilidad y el rendimiento de sus procesos BGP.

Recopilar registros:

show tech-support

show tech-support routing bgp

show processes memory detail <job id> location 0/rsp0/cpu0

show processes memory detail <job id> location 0/rsp1/cpu0

show memory summary location all

show memory heap <job id>  location 0/rsp0/cpu0

show memory heap <job id>  location 0/rsp1/cpu0

show memory heap dllname <job id>

show bgp scale

show bgp scale standby

show bgp all all process performance-statistics

show bgp all all process performance-statistics detail