Introduction
Ce document décrit le problème de mémoire virtuelle BGP (RLIMIT) sur les routeurs Cisco et décrit les étapes à suivre en cas de problème.
Informations générales
Rlimit définit la limite de ressources pour un processus dans XR et varie en fonction des besoins en mémoire de chaque processus. Ces limites peuvent différer d'une version à l'autre, car elles peuvent être ajustées en fonction des nouveaux besoins et des nouvelles découvertes.Rlimit est déterminé par les allocations de mémoire fixe pour les composants tels que la mémoire partagée, le noyau et dllmgr, ce qui le rend non configurable via l'interface de ligne de commande.
Résumé du problème
L'utilisation de la mémoire a atteint 90 % après l'établissement de la connexion entre homologues BGP. Cela peut également entraîner le blocage du processus BGP.
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
Cette commande indique la quantité maximale de mémoire à laquelle un processus peut accéder.
RP/0/RSP0/CPU0:ASR#show bgp process performance-statistics | i RLIMIT
Platform RLIMIT max: 2281701376 bytes
Cette commande affiche la limite dynamique dans le tas :
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
Limite
La restriction RLIMIT est un facteur critique sur les systèmes cXR 32 bits, où un plafond de mémoire est appliqué. Cette limitation affecte directement la mémoire disponible pour les processus BGP.
Cependant, sur les systèmes eXR 64 bits, la limite RLIMIT est considérablement augmentée. Cette amélioration multiplie la mémoire disponible pour les processus BGP, fournissant un environnement plus robuste pour gérer des tables de routage plus volumineuses et plus d'homologues.
Veuillez trouver la comparaison de l'allocation de mémoire :
Le périphérique avec RSP880-LT-TR et eXR a une limite de 7,4 Go pour BGP
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
Le périphérique doté de RSP880-LT-TR et cXR a une limite de 2,5 Go pour BGP
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
Solution/solution de contournement possible
Pour résoudre le problème de mémoire avec BGP, ces étapes peuvent être considérées.
-
Mise à niveau vers un système 64 bits
-
Modifier le profil ASR9k
-
Basculez le profil ASR9k du paramètre par défaut vers le profil L3XL. Cet ajustement augmente l'allocation de mémoire pour BGP, ce qui peut aider à réduire la pression de mémoire.
-
Notez que le passage au profil L3XL réduit la mémoire disponible pour les autres processus. Il est donc essentiel d'évaluer l'impact sur les performances globales du système.
-
Avant d'implémenter le profil L3XL, consultez attentivement la documentation de la plate-forme pour comprendre ses implications et assurer la compatibilité avec la configuration système requise.
-
Évaluer le bouton de reconfiguration logicielle en entrée toujours
-
L'utilisation du bouton « soft-reconfiguration inbound always » est très gourmande en mémoire, en particulier si des chemins supplémentaires sont présents.
-
Vérifiez les homologues BGP qui n'ont pas de capacité d'actualisation de route et assurez-vous que ce bouton est activé uniquement pour ces homologues spécifiques.
-
Retirez ce bouton des homologues qui prennent en charge l'actualisation de la route pour récupérer de la mémoire.
-
Implémenter la stratégie de routage pour refuser certains préfixes
-
Réduire le nombre d'homologues BGP
-
Redémarrer le processus BGP ou recharger le routeur
-
Évaluation des fonctionnalités gourmandes en mémoire
-
Sachez que certaines fonctionnalités telles que le routage sans interruption (NSR), les chemins supplémentaires et le chemin maximal peuvent contribuer à une utilisation accrue de la mémoire.
-
Évaluez la nécessité de ces fonctionnalités et envisagez de les désactiver ou de les optimiser si elles ne sont pas essentielles au fonctionnement de votre réseau.
Ces étapes peuvent mieux gérer l'utilisation de la mémoire et assurer la stabilité et les performances de vos processus BGP.
Si le problème n'est toujours pas résolu, collectez les journaux et contactez le TAC 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