Sommario

Introduzione

Premesse

Riepilogo

Limitazione

Soluzione/soluzione possibile

Introduzione

Questo documento descrive il problema della memoria virtuale BGP (RLIMIT) sui router Cisco e delinea i passaggi da seguire quando si incontra questo problema.

Premesse

Limite definisce il limite di risorse per un processo in XR e varia a seconda dei requisiti di memoria di ogni processo. Questi limiti possono variare tra le versioni in quanto possono essere regolati in base alle nuove esigenze e ai nuovi risultati. Rlimit è determinato dalle allocazioni di memoria fissa per componenti quali memoria condivisa, kernel e dllmgr, rendendolo non configurabile tramite CLI.

Riepilogo

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

<<<<<<<<<<<

Questo comando visualizza il limite di memoria nell'heap:

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

Limitazione

La restrizione RLIMIT è un fattore critico per i sistemi cXR a 32 bit, in cui viene imposto un limite massimo di memoria. Questa limitazione influisce direttamente sulla memoria disponibile per i processi BGP.

Tuttavia, nei sistemi eXR a 64 bit, l'RLIMIT è notevolmente aumentato. Questo miglioramento moltiplica la memoria disponibile per i processi BGP, fornendo un ambiente più solido per la gestione di tabelle di routing più grandi e più peer.

Trovare il confronto tra l'allocazione di 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

Soluzione/soluzione possibile

Per risolvere il problema di memoria con BGP, è possibile prendere in considerazione i seguenti passaggi:

Aggiornamento al sistema a 64 bit:

- BGP offre una maggiore allocazione di memoria su un sistema a 64 bit, circa 8 GB come definito da RLIMIT. Questo aggiornamento consente di gestire le maggiori richieste di memoria di BGP.

Cambia profilo ASR9k:

- Passare dal profilo ASR9k predefinito al profilo L3XL. Questa regolazione aumenta l'allocazione della memoria per BGP, riducendo la pressione della memoria.

- Si noti che il passaggio al profilo L3XL riduce la memoria disponibile per altri processi. È pertanto essenziale valutare l'impatto sulle prestazioni complessive del sistema.

- Prima di implementare il profilo L3XL, esaminare attentamente la documentazione della piattaforma per comprenderne le implicazioni e garantire la compatibilità con i requisiti di sistema.

- Valutare soft-reconfiguration inbound always la manopola.

- L'utilizzo della manopola delsoft-reconfiguration inbound always sistema richiede molta memoria, soprattutto se sono presenti percorsi aggiuntivi.

- Verificare i peer BGP privi della funzionalità di aggiornamento delle route e accertarsi che questa manopola sia abilitata solo per i peer specifici.

- Rimuovere questa manopola dai peer che supportano l'aggiornamento della route per recuperare memoria.

- Implementare i criteri di route per negare alcuni prefissi:

- Creare un criterio di route per negare determinati prefissi. Ciò consente di ridurre l'utilizzo della memoria limitando il numero di route da elaborare e archiviare.

- Riduzione del numero di peer BGP

- Diminuire il numero di peer BGP sul router per ridurre il consumo complessivo di memoria. Questo passaggio è particolarmente utile se si dispone di un numero elevato di peer che contribuiscono all'utilizzo elevato della memoria.

- Riavviare il processo BGP o ricaricare il router

- Il riavvio manuale del processo BGP o il ricaricamento del router possono contribuire a liberare memoria. Si tratta di una soluzione temporanea, ma può essere efficace nel ridurre i problemi di memoria immediati.

- Valutazione delle funzionalità a uso intensivo di memoria

- Alcune funzionalità, ad esempio NSR (Non-Stop Routing), i percorsi aggiuntivi e il percorso massimo, possono aumentare l'utilizzo della memoria.

- Valutare la necessità di queste funzionalità e valutare la possibilità di disabilitarle o ottimizzarle se non sono di importanza critica per le operazioni di rete.

Questi passaggi consentono di gestire meglio l'utilizzo della memoria e di garantire la stabilità e le prestazioni dei processi BGP.

Raccogli log:

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