Contents

Introdução

Informações de Apoio

Resumo da Questão

Limitação

Solução/solução possível

Introdução

Este documento descreve o problema de memória virtual BGP (RLIMIT) em roteadores Cisco e descreve as etapas a serem seguidas ao encontrar esse problema.

Informações de Apoio

Rlimit define o limite de recursos para um processo em XR e varia de acordo com os requisitos de memória de cada processo. Esses limites podem diferir entre as versões, pois podem ser ajustados com base em novas necessidades e descobertas.Rlimit é determinado por alocações de memória fixa para componentes como memória compartilhada, kernel e dllmgr, tornando-o não configurável por meio da CLI.

Resumo da Questão

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 mostra o limite de memória no 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

Limitação

A restrição RLIMIT é um fator crítico em sistemas cXR de 32 bits, onde um teto de memória é aplicado. Essa limitação afeta diretamente a memória disponível para processos BGP.

No entanto, em sistemas eXR de 64 bits, o RLIMIT é significativamente aumentado. Esse aprimoramento multiplica a memória disponível para processos BGP, fornecendo um ambiente mais robusto para lidar com tabelas de roteamento maiores e mais peers.

Localize a comparação de Alocação de Memória:

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

Solução/solução possível

Para resolver o problema de memória com o BGP, estes passos podem ser considerados:

Atualizar para o sistema de 64 bits:

- O BGP se beneficia de uma maior alocação de memória em um sistema de 64 bits, aproximadamente 8 GB conforme definido pelo RLIMIT. Essa atualização pode ajudar a gerenciar o aumento das demandas de memória do BGP.

Alterar perfil do ASR9k:

- Alterne o perfil ASR9k da configuração padrão para o perfil L3XL. Esse ajuste aumenta a alocação de memória para o BGP, o que pode ajudar a aliviar a pressão da memória.

- Observe que a alteração para o perfil L3XL reduz a memória disponível para outros processos. Por conseguinte, é essencial avaliar o impacto no desempenho global do sistema.

- Antes de implementar o perfil L3XL, revise completamente a documentação da plataforma para entender suas implicações e garantir a compatibilidade com seus requisitos de sistema.

- Avalie o botão desoft-reconfiguration inbound always.

- O uso do botãosoft-reconfiguration inbound always exige muita memória, especialmente se houver caminhos adicionais.

- Verifique os peers BGP que não têm o recurso de atualização de rota e certifique-se de que esse botão esteja habilitado somente para esses peers específicos.

- Remova esse botão dos pares que suportam atualização de rota para recuperar memória.

- Implemente a política de rota para negar alguns prefixos:

- Crie uma política de rota para negar determinados prefixos, o que pode ajudar a reduzir o uso de memória limitando o número de rotas que precisam ser processadas e armazenadas.

- Reduza o número de pares BGP

- Diminua o número de peers BGP no roteador para reduzir o consumo geral de memória. Esta etapa é particularmente útil se você tiver um grande número de peers que contribuem para o alto uso de memória.

- Reiniciar o processo BGP ou recarregar o roteador

- Reiniciar manualmente o processo BGP ou recarregar o roteador pode ajudar a liberar memória. Essa é uma solução temporária, mas pode ser eficaz na atenuação de problemas imediatos de memória.

- Avalie os recursos que consomem muita memória

- Esteja ciente de que determinados recursos, como Roteamento ininterrupto (NSR - Non-Stop Routing), caminhos adicionais e caminho máximo podem contribuir para o aumento do uso da memória.

- Avalie a necessidade desses recursos e considere desativá-los ou otimizá-los se não forem essenciais para as operações de rede.

Essas etapas podem gerenciar melhor o uso da memória e garantir a estabilidade e o desempenho dos seus processos de BGP.

Coletar logs:

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