内容

はじめに

背景説明

問題の概要

制限

考えられる回避策とソリューション

はじめに

このドキュメントでは、CiscoルータのBGP仮想メモリ(RLIMIT)の問題について説明し、この問題が発生した場合の手順の概要を示します。

背景説明

Rlimitは、XRにおけるプロセスのリソース制限を定義し、各プロセスメモリ要件に応じて異なります。これらの制限は、新しいニーズや検出に基づいて調整できるため、リリースによって異なる場合があります。制限は、共有メモリ、カーネル、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は、64ビットシステム上でより大きなメモリを割り当てることでメリットを得ます。これは、RLIMITで定義された約8 GBに相当します。このアップグレードは、BGPのメモリ要求の増加に対処するのに役立ちます。

ASR9kプロファイルの変更：

- ASR9kプロファイルをデフォルト設定からL3XLプロファイルに切り替えます。この調整によってBGPのメモリ割り当てが増えるため、メモリ不足の軽減に役立ちます。

- L3XLプロファイルに変更すると、他のプロセスで使用できるメモリが少なくなることに注意してください。したがって、システム全体のパフォーマンスに対する影響を評価することが不可欠です。

- L3XLプロファイルを実装する前に、プラットフォームのドキュメントを十分に確認して、その影響を理解し、システム要件との互換性を確認してください。

soft-reconfiguration inbound always

- のノブを評価します。
soft-reconfiguration inbound always

- のノブを使用すると、特に追加のパスが存在する場合に、非常に多くのメモリを消費します。

- ルートリフレッシュ機能のないBGPピアをチェックし、このノブがそれらの特定のピアに対してのみ有効になっていることを確認します。

- ルートリフレッシュをサポートするピアからこのノブを削除して、メモリを再利用します。

- 一部のプレフィックスを拒否するルートポリシーの実装：

- 特定のプレフィックスを拒否するルートポリシーを作成します。これにより、処理および保存する必要があるルートの数を制限することで、メモリ使用量を削減できます。

- BGPピア数の削減

- ルータ上のBGPピアの数を減らして、全体的なメモリ消費を抑えます。この手順は、メモリの使用率が高くなる原因となっている多数のピアがある場合に特に役立ちます。

- BGPプロセスの再起動またはルータのリロード

- BGPプロセスを手動で再起動するか、ルータをリロードすると、メモリを解放できます。これは一時的な解決策ですが、メモリの差し迫った問題を軽減するのに効果的です。

- メモリを大量に使用する機能の評価

- Non-Stop Routing(NSR)、追加パス、最大パスなどの特定の機能は、メモリ使用量の増加に寄与する可能性があることに注意してください。

- これらの機能の必要性を評価し、ネットワーク運用に不可欠でない場合は、それらの機能を無効にしたり最適化したりすることを検討してください。

これらの手順により、メモリ使用量を適切に管理し、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