Table des matières

Introduction

Informations générales

Résumé du problème

Limite

Solution/solution de contournement possible

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

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

<<<<<<<<<<<

Cette commande montre la limite de mémoire dans le tas :

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

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 :

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

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 :

- BGP bénéficie d'une allocation de mémoire plus importante sur un système 64 bits, environ 8 Go comme défini par RLIMIT. Cette mise à niveau peut aider à gérer les demandes de mémoire accrues de BGP.

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 boutonsoft-reconfiguration inbound always.

- L'utilisation du boutonsoft-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 politique de routage pour refuser certains préfixes :

- Créez une politique de routage pour refuser certains préfixes, ce qui peut aider à réduire l'utilisation de la mémoire en limitant le nombre de routes qui doivent être traitées et stockées.

- Réduire le nombre d'homologues BGP

- Diminuez le nombre d'homologues BGP sur le routeur pour réduire la consommation totale de mémoire. Cette étape est particulièrement utile si vous avez un grand nombre d'homologues qui contribuent à l'utilisation élevée de la mémoire.

- Redémarrer le processus BGP ou recharger le routeur

- Le redémarrage manuel du processus BGP ou le rechargement du routeur peuvent aider à libérer de la mémoire. Il s'agit d'une solution temporaire, mais qui peut être efficace pour atténuer les problèmes de mémoire immédiats.

- É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.

Collecter les journaux :

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