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
El uso de memoria alcanzó el 90% después de establecer la conexión de peer BGP. Esto también podría causar que el proceso BGP se bloquee.
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
Este comando muestra la cantidad máxima de memoria a la que puede acceder cualquier proceso.
RP/0/RSP0/CPU0:ASR#show bgp process performance-statistics | i RLIMIT
Platform RLIMIT max: 2281701376 bytes
Este comando muestra el límite dinámico en el montón:
RP/0/RSP0/CPU0:ASR#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:
El dispositivo con RSP880-LT-TR y eXR tiene el RLIMIT para BGP de 7,4 GB
RP/0/RSP0/CPU0:ASR#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
El dispositivo que tiene RSP880-LT-TR y cXR tiene el RLIMIT para BGP como 2.5GB
RP/0/RSP0/CPU0:ASR#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 a un sistema de 64 bits
-
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 botón "soft-reconfiguration inbound always"
-
El uso del botón 'soft-reconfiguration inbound always' (siempre entrante de reconfiguración suave) requiere mucha memoria, especialmente si hay trayectos adicionales presentes.
-
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
-
Reducción del Número de Peers BGP
-
Reinicie el proceso BGP o recargue el router
-
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.
Si el problema aún no se recupera, recopile los registros y comuníquese con el TAC de Cisco:
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