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
O uso de memória aumentou para 90% após o estabelecimento da conexão de peer de BGP. Isso também pode causar o travamento do processo 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
Esse comando mostra a quantidade máxima de memória que qualquer processo pode acessar.
RP/0/RSP0/CPU0:ASR#show bgp process performance-statistics | i RLIMIT
Platform RLIMIT max: 2281701376 bytes
Este comando mostra o limite dinâmico no heap:
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
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:
Dispositivo com RSP880-LT-TR e eXR tem o RLIMIT para BGP como 7.4GB
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
Dispositivo com RSP880-LT-TR e cXR tem o 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
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
-
Alterar Perfil 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.
-
Avaliar o botão "soft-reconfiguration inbound always"
-
O uso do botão 'soft-reconfiguration inbound always' consome 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.
-
Implementar política de rota para negar alguns prefixos
-
Reduza o número de pares BGP
-
Reiniciar o processo BGP ou recarregar o roteador
-
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.
Se o problema ainda não for recuperado, colete os registros e entre em contato com o TAC da 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