목차

소개

배경 정보

문제 요약

제한

가능한 해결 방법/솔루션

소개

이 문서에서는 Cisco 라우터의 BGP RLIMIT(가상 메모리) 문제에 대해 설명하고 이 문제가 발생할 때 수행할 단계를 간략하게 설명합니다.

배경 정보

Rlimit은 프로세스에 대한 리소스 제한을 XR로 정의하며 각 프로세스 메모리 요구 사항에 따라 달라집니다. 이러한 제한은 새로운 요구 사항 및 검색 결과에 따라 조정할 수 있으므로 릴리스마다 다를 수 있습니다.Rlimit은 공유 메모리, 커널 및 dllmgr과 같은 구성 요소에 대한 고정 메모리 할당에 따라 결정되므로 CLI를 통해 구성할 수 없습니다.

문제 요약

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

<<<<<<<<<<<

이 명령은 힙의 메모리 제한을 표시합니다.

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

제한

RLIMIT 제한은 메모리 한도가 적용되는 cXR 32비트 시스템에서 중요한 요소입니다. 이 제한은 BGP 프로세스에 사용할 수 있는 메모리에 직접적인 영향을 미칩니다.

그러나 eXR 64비트 시스템에서는 RLIMIT가 크게 증가합니다. 이러한 향상된 기능은 BGP 프로세스에 사용 가능한 메모리를 늘려 더 큰 라우팅 테이블과 더 많은 피어를 처리할 수 있는 더 강력한 환경을 제공합니다.

메모리 할당의 비교 내용을 확인하십시오.

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

가능한 해결 방법/솔루션

BGP의 메모리 문제를 해결하기 위해 다음 단계를 고려할 수 있습니다.

64비트 시스템으로 업그레이드:

- BGP는 RLIMIT에 정의된 대로 약 8GB인 64비트 시스템에서 더 큰 메모리 할당으로 이점을 제공합니다. 이 업그레이드를 통해 BGP의 늘어난 메모리 요구 사항을 관리할 수 있습니다.

ASR9k 프로파일 변경:

- ASR9k 프로필을 기본 설정에서 L3XL 프로필로 전환합니다. 이렇게 조정하면 BGP에 대한 메모리 할당이 늘어나므로 메모리 압력을 완화하는 데 도움이 됩니다.

- L3XL 프로필로 변경하면 다른 프로세스에서 사용할 수 있는 메모리가 줄어듭니다. 따라서 전반적인 시스템 성능에 미치는 영향을 평가하는 것이 필수적이다.

- L3XL 프로필을 구현하기 전에 플랫폼 설명서를 철저하게 검토하여 그 의미를 이해하고 시스템 요구 사항과의 호환성을 확인합니다.

- 손잡이를 soft-reconfiguration inbound always 평가합니다.

- 노브의 soft-reconfiguration inbound always 사용은 특히 추가 경로가 존재하는 경우 매우 많은 메모리 집약적이다.

- 경로 새로 고침 기능이 없는 BGP 피어를 확인하고 이 노브가 특정 피어에 대해서만 활성화되었는지 확인합니다.

- 메모리를 재확보하기 위해 경로 새로고침을 지원하는 피어에서 이 노브를 제거합니다.

- 일부 접두사를 거부하는 경로 정책 구현:

- 특정 접두사를 거부하는 경로 정책을 생성합니다. 이렇게 하면 처리 및 저장해야 하는 경로 수를 제한하여 메모리 사용량을 줄일 수 있습니다.

- BGP 피어 수 감소

- 라우터의 BGP 피어 수를 감소시켜 전반적인 메모리 사용량을 줄입니다. 이 단계는 높은 메모리 사용에 기여하는 피어 수가 많은 경우 특히 유용합니다.

- BGP 프로세스 다시 시작 또는 라우터 다시 로드

- BGP 프로세스를 수동으로 다시 시작하거나 라우터를 다시 로드하면 메모리를 확보하는 데 도움이 됩니다. 이는 일시적인 해결책이지만 즉각적인 메모리 문제를 완화하는 데 효과적일 수 있습니다.

- 메모리 집약적 기능 평가

- NSR(Non-Stop Routing), 추가 경로 및 최대 경로와 같은 특정 기능이 메모리 사용량 증가에 도움이 될 수 있습니다.

- 이러한 기능의 필요성을 평가하고 해당 기능이 네트워크 운영에 중요하지 않을 경우 비활성화하거나 최적화하는 것을 고려하십시오.

이러한 단계를 통해 메모리 사용량을 더 잘 관리하고 BGP 프로세스의 안정성과 성능을 보장할 수 있습니다.

로그 수집:

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