内容

はじめに

背景説明

問題の概要

制限

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

はじめに

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

背景説明

Rlimitは、XRにおけるプロセスのリソース制限を定義し、各プロセスメモリ要件に応じて異なります。これらの制限は、新しいニーズや検出に基づいて調整できるため、リリースによって異なる場合があります。制限は、共有メモリ、カーネル、dllmgrなどのコンポーネントの固定メモリ割り当てによって決定され、CLIでは設定できないようになっています。

問題の概要

BGPピア接続が確立されると、メモリ使用率が90 %に急増しました。これにより、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

このコマンドは、すべてのプロセスがアクセスできるメモリの最大量を示します。

RP/0/RSP0/CPU0:ASR#show bgp process performance-statistics | i RLIMIT

Platform RLIMIT max: 2281701376 bytes

このコマンドは、ヒープ内の動的制限を表示します。

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

制限

RLIMIT制限は、メモリの上限が適用されるcXR 32ビットシステムでは重要な要素です。この制限は、BGPプロセスで使用できるメモリに直接影響します。

ただし、eXR 64ビットシステムでは、RLIMITが大幅に増加します。この機能拡張により、BGPプロセスで使用できるメモリが増え、より大きなルーティングテーブルとより多くのピアを処理するためのより堅牢な環境が提供されます。

メモリ割り当ての比較を見つけてください。

RSP880-LT-TRおよびeXRを搭載したデバイスでは、BGPのRLIMITが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

RSP880-LT-TRとcXRを搭載したデバイスでは、BGPのRLIMITは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

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

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プロセスの安定性とパフォーマンスを確保できます。

それでも問題が解決しない場合は、ログを収集してCisco TACに連絡してください。

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