Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

リソース監視手法によるシステム パフォーマンスのトラブルシューティング

リソース監視の使用状況計算の概要

CLI と SNMP MIB クエリーの両方を使用して、リソース監視機能を設定できます。このユーティリティを使用して、DPCとMPCの健全性と運用効率を監視するのに十分なヘッドルーム(アプリケーションまたは仮想ルーターに設定されたメモリ容量制限)をプロビジョニングできます。また、jtreeメモリタイプ、連続ページ、ダブルワード、および空きメモリページのメモリの使用量または消費量を分析して表示することもできます。すべてのMXシリーズルーターパケット転送エンジンのjtreeメモリには2つのセグメントがあります。1つのセグメントは主にルーティングテーブルと関連情報を格納し、もう1つのセグメントは主にファイアウォールフィルター関連情報を格納します。ルーティングテーブルやファイアウォールフィルターにより多くのメモリを割り当てると、パケット転送エンジンの転送操作が中断される可能性があるため、メモリ拡張ルートステートメントを含む設定をコミットすると、Junos OS CLIは影響を受けるすべてのFPCを再起動するように警告を表示します。

次のセクションでは、IチップベースとTrioベースのラインカードの異なるメモリ領域の計算式と解釈について説明します。

Trioベースラインカードのリソース監視と使用量計算

Trioベースのラインカードでは、ネクストホップフィルターとファイアウォールフィルター用のメモリブロックが別々に割り当てられます。また、拡張メモリも存在します。これは、ネクストホップまたはファイアウォールフィルターに割り当てられたメモリが完全に消費された場合に使用されます。ネクストホップフィルターとファイアウォールフィルターの両方が、拡張メモリからメモリを割り当てることができます。カプセル化メモリ領域はIチップベースのラインカードに固有のものであり、Trioベースのラインカードには適用されません。そのため、Trioベースのラインカードの場合、空きメモリ領域の割合は次のように解釈できます。

%空き(NH)=(1-(使用済みNHメモリ+使用済み拡張メモリ)/(合計NHメモリ+合計拡張メモリ))×100

%空き(ファイアウォールまたはフィルター)=(1-(使用済みFWメモリ+使用済み拡張メモリ)/(合計FWメモリ+合計拡張メモリ))×100

カプセル化メモリはIチップ固有であり、Trioベースのラインカードには適用されません。

%空き(メモリをカプセル化)=該当なし

Iチップベースのラインカードのリソース監視と使用量計算

Iチップベースのラインカードには、ルートルックアップブロックに関連付けられた32MBのSRAM(静的RAM)メモリと、出力WANブロックに関連付けられた16MBのSRAMメモリが含まれています。

ルートルックアップメモリは、32MBメモリの単一のプールで、それぞれ16MBずつの2つのセグメントに分割されています。標準設定では、セグメント0はNHとプレフィックスに、セグメント1はファイアウォールまたはフィルターに使用されます。この割り当ては、[edit chassis]階層レベルでroute-memory-enhancedオプションを使用することで変更できます。一般的な構成では、NH アプリケーションには 2 つのセグメントのいずれかからメモリを割り当てることができます。したがって、NH の空きメモリの割合は 32 MB メモリで計算されます。現在、ファイアウォールアプリケーションにはセグメント1からのみメモリが割り当てられています。その結果、ファイアウォールで監視する空きメモリの割合は、セグメント1のみで使用可能な16MBメモリから開始されます。

Iチップベースのラインカードの場合、空きメモリ領域の割合は次のように解釈できます。

% Free (NH) = (32-(Used NH memory+Used FW memory+Used Other application)) / 32×100

% Free (Firewall or Filter)=(16-(Used NH memory+Used FW memory+Used Other application)) / 16×100

出力WAN(Iwo)SRAMのメモリサイズは16MBで、カプセル化情報を含むレイヤー2記述子を格納します。このエンティティは重要なリソースであり、監視する必要があります。このメモリ領域は、showコマンドの出力で「Encap mem」と表示されます。カプセル化領域の空きメモリの割合は、次のように計算されます。

%空き(カプセル化メモリ)=(16-(硫黄メモリ使用(L2記述子+その他のアプリケーション)))) / 16×100

ネクストホップメモリに設定されたウォーターマークレベルは、カプセル化メモリにも有効です。そのため、カプセル化領域の空きメモリの割合が設定されたウォーターマークを下回ると、ログが生成されます。

空きメモリの割合が特定のメモリタイプの空きメモリ透かしよりも低い場合、次のエラーメッセージがsyslogに記録されます。

“Resource Monitor: FPC <slot no> PFE <pfe inst> <“JNH memory” or “FW/ Filter memory”> is below set watermark <configured watermark>”.

[edit system services resource-monitor]階層レベルでtraceoptions file <filename> flag flag level level size bytesステートメントを使用して、リソース監視トレース操作を設定できます。デフォルトでは、メッセージは /var/log/rsmonlog に書き込まれます。ソケット通信障害(ルーティングエンジンとパケット転送エンジン間)に関連するエラーログは、ルーティングエンジンとパケット転送エンジン間の通信における問題を診断するのに役立ちます。

Ukern の観点から見ると、MPC5E には 1 つのパケット転送エンジン インスタンスしか含まれません。show chassis fabric planeコマンドの出力は、パケット転送エンジンへのファブリックプレーン接続の状態を表示します。2つのパケット転送エンジンが存在するため、出力にPFE-0とPFE-1があることがわかります。

MPC5Eのパケット転送エンジンインスタンスは1つしか存在しないため、show system resource-monitor fpcコマンドの出力には、パケット転送エンジンインスタンス0に対応する行が1つしか表示されません。

設定されたウォーターマークは、GRES および統合 ISSU 手順全体で保持されます。

MXシリーズルーターでメモリリソース使用状況監視を設定することによるシステムパフォーマンスの診断とデバッグ

Junos OSは、CLIとSNMP MIBクエリの両方を使用したリソース監視機能をサポートしています。このユーティリティを使用して、システムの安定性、特にMXシリーズルーター上のIチップベースのラインカードとTrioベースのFPCの健全性と運用効率を確保するために、十分なヘッドルーム(アプリケーションまたは仮想ルーターに設定されているメモリ容量制限)をプロビジョニングできます。ukernelメモリまたはASICメモリのメモリ使用率が一定のしきい値に達すると、システム運用がラインカードの健全性とトラフィック処理の安定性を損なうため、システムパフォーマンスのこのようなトレードオフは、ライブトラフィックとプロトコルのサポートに悪影響を与える可能性があります。

メモリリソース使用機能のプロパティを設定するには:

  1. 異なるメモリリソース領域の使用状況の監視メカニズムを設定することを指定します。

    この機能はデフォルトで有効になっており、手動で無効にすることはできません。

  2. ヒープやukernel、ネクストホップとカプセル化、ファイアウォールフィルターメモリなど、メモリのすべての領域に対して、警告またはエラーログが生成される上限しきい値を指定します。
  3. クストホップを監視する空きメモリ領域の割合をウォーターマーク値で指定します。
  4. ukernel またはヒープメモリーを監視するのに使用される空きメモリー領域の割合をウォーターマーク値で指定します。
  5. 監視するファイアウォールとフィルターメモリに使用される空きメモリ領域の割合をウォーターマーク値で指定します。
    注:

    ネクストホップメモリの空き容量の割合に対するウォーターマーク値のデフォルト値と設定された値は、カプセル化メモリにも適用されます。空きukernelまたはヒープメモリ、ネクストホップメモリ、ファイアウォールフィルターメモリの割合のデフォルトの透かし値は20%です。

  6. メモリリソースの使用率がしきい値またはチェックポイントレベルを超えた場合のエラーログメッセージの生成を無効にします。デフォルトでは、メッセージは /var/log/rsmonlog に書き込まれます。
  7. システムの安定性、特にMXシリーズルーター上のIチップベースのラインカードとTrioベースのFPCの健全性と運用効率を確保するために監視および分析するリソースカテゴリを定義します。リソースカテゴリには、詳細なCPU使用率、セッションレート、およびセッションカウントの統計が含まれます。リソースカテゴリの統計を使用して、新しい攻撃オブジェクトやアプリケーションがパフォーマンスに与える影響の程度を把握できます。
    注:

    すべてのMXシリーズルーターパケット転送エンジンのjtreeメモリには2つのセグメントがあります。1つのセグメントは主にルーティングテーブルと関連情報を格納し、もう1つのセグメントは主にファイアウォールフィルター関連情報を格納します。Junos OS には、ルート、ファイアウォールフィルター、およびレイヤー 3 VPN のために jtree メモリを再割り当てするためのメモリ拡張ステートメントが用意されています。

  8. リソースのタイプを連続ページとして設定し、効果的なシステムパフォーマンスとトラフィック処理能力を確保するために十分な余地を提供する監視メカニズムを有効にします。指定されたメモリのタイプまたは領域(この場合は連続ページ)に対して、警告またはエラーログが生成される上限および下限のしきい値を指定します。
  9. リソースのタイプをフリーダブルワード(dword)として設定し、効果的なシステムパフォーマンスとトラフィック処理能力を確保するための十分な余地を監視メカニズムで有効にします。指定されたメモリの種類または領域 (この場合は空き dword) に対して、警告またはエラー ログが生成される上限と下限のしきい値を指定します。
  10. リソースのタイプを空きメモリページとして設定し、監視メカニズムを有効にして、効果的なシステムパフォーマンスとトラフィック処理能力を確保するための十分な余地を提供します。指定されたメモリの種類または領域(この場合は空きメモリページ)に対して、警告またはエラーログが生成される上限と下限のしきい値を指定します。
  11. show system resource-monitor fpcコマンドを使用して、FPCのパケット転送エンジンのメモリリソースの使用率を表示します。フィルターメモリは、ファイアウォールフィルターカウンターに使用されるフィルターカウンターメモリを示します。各メモリ領域の横に表示されるアスタリスク(*)は、設定されたしきい値が現在超えていることを示します。

MS-DPC と MS-MIC の jnxNatObjects 値の不一致のトラブルシューティング

問題点

説明

MS-DPCとMS-MICの両方がネットワークに展開されており、ネットワークアドレス変換(NAT)タイプが napt-44として設定されている場合、jnxNatObjectsの snmp mib walk コマンドの出力には、MS-DPCとMS-MICで異なる値が表示されます。

解決方法

MS-DPC と MS-MIC の jnxNatObjects 値と一致するように SNMP を設定します。

MS-DPC と MS-MIC の jnxNatObjects 値と一致するように SNMP を設定するには:

  1. set services service-set service-set-name nat-options snmp-value-match-msmic設定モードコマンドを実行します。次の設定例は、jnxNatObjects MIBテーブル内のMS-MIC固有オブジェクトの値とMS-DPCオブジェクトの値と一致するようにSNMPを設定する方法を示しています。

  2. commitコマンドを発行して変更を確認します。

  3. (オプション) show snmp mib walk jnxNatObjects コマンドを実行して、jnxNatObjects MIBテーブル内のMS-MIC固有オブジェクトの値がMS-DPCオブジェクトの値と一致していることを確認します。例えば、以下の出力は、MS-MIC固有のオブジェクトとMS-DPCオブジェクトの値が一致していることを示しています。

    注:

    delete services service-set service-set-name nat-options snmp-value-match-msmic設定モードコマンドを使用して、この機能を無効にすることができます。

FPCスロット内のパケット転送エンジン用Ukernelメモリの管理オブジェクト

オブジェクト識別子が{jnxPfeMemory 1}であるjnxPfeMemoryUkernTableには、指定されたパケット転送エンジンスロットのグローバル ukernel またはヒープメモリ統計を取得するJnxPfeMemoryUkernEntryが含まれています。オブジェクト識別子が{jnxPfeMemoryUkernTable 1}である各JnxPfeMemoryUkernEntryには、以下の表に示すオブジェクトが含まれています。jnxPfeMemoryUkernEntryは、使用可能なメモリの合計や使用されているメモリの割合など、メモリ使用率を示します。

表1:jnxPfeMemoryUKernTable

オブジェクト

オブジェクトID

説明

jnxPfeMemoryUkernFreePercent

jnxPfeMemoryUkernEntry 3

ukernヒープ内の空きパケット転送エンジンメモリの割合を示します。

パケット転送エンジンのメモリ統計データの管理オブジェクト

オブジェクト識別子が{jnxPfeMib 2}jnxPfeMemoryテーブルには、表2に示すオブジェクトが含まれています

表2:jnxPfeMemoryテーブル

オブジェクト

オブジェクトID

説明

jnxPfeMemoryUkernTable

jnxPfeMemory 1

指定されたパケット転送エンジンスロットのグローバルUKERNメモリ統計を提供します。

jnxPfeMemoryForwardingTable

jnxPfeMemory 2

指定されたパケット転送エンジンスロットのグローバルネクストホップ(Trioベースのラインカード用)またはJtree(Iチップベースのラインカード用)メモリ使用率とファイアウォールフィルターメモリ使用率の統計を提供します。

ネクストホップ、jtree、ファイアウォール用マネージドオブジェクトFPCスロット内のパケット転送エンジン用フィルターメモリ

オブジェクト識別子が{jnxPfeMemory 2}であるjnxPfeMemoryForwardingTableには、Trioベースラインカードのネクストホップメモリ、Iチップベースラインカードのjtreeメモリ、IチップとTrioベースのラインカードの両方で指定されたパケット転送エンジンスロットのファイアウォールまたはフィルターメモリ統計情報を取得するJnxPfeMemoryForwardingEntryが含まれています。オブジェクト識別子が{jnxPfeMemoryForwardingTable 1}である各jnxPfeMemoryForwardingEntryには、以下の表に示すオブジェクトが含まれています。

jnxPfeMemoryForwardingEntryは、ASICインスタンス、使用されたASICメモリ、およびASIC空きメモリを表します。すべてのMXシリーズルーターパケット転送エンジンのjtreeメモリには2つのセグメントがあります。1つのセグメントは主にルーティングテーブルと関連情報を格納し、もう1つのセグメントは主にファイアウォールフィルター関連情報を格納します。ルーティングテーブルやファイアウォールフィルターにより多くのメモリを割り当てると、パケット転送エンジンの転送操作が中断される可能性があるため、メモリ拡張ルートステートメントを含む設定をコミットすると、Junos OS CLIは影響を受けるすべてのFPCを再起動するように警告を表示します。FPCまたはDPCを再起動するまで、設定は有効になりません(MXシリーズルーター上)。

表3:jnxPfeMemoryForwardingTable

オブジェクト

オブジェクトID

説明

jnxPfeMemoryForwardingChipSlot

jnxPfeMemoryForwardingEntry 1

パケット転送エンジンコンプレックス内のASICインスタンス番号を示します。

jnxPfeMemoryType

jnxPfeMemoryForwardingEntry 2

パケット転送エンジンのメモリタイプを示します。nh = 1、fw = 2、encap = 3です。

jnxPfeMemoryForwardingPercentFree

jnxPfeMemoryForwardingEntry 3

各メモリタイプの空きメモリの割合を示します。

jnxPfeMemoryErrorsTable

オブジェクトIDが{jnxPfeMibRoot 1}のジュニパーネットワークスエンタープライズ固有のパケット転送エンジンMIBは、パケット転送エンジンメモリエラーカウンターを表示する新しいMIBテーブルjnxPfeMemoryErrorsTableをサポートしています。オブジェクト識別子がjnxPfeNotification 3であるjnxPfeMemoryErrorsTableには、JnxPfeMemoryErrorsEntryが含まれています。オブジェクト識別子が{ jnxPfeMemoryErrorsTable 1 }である各JnxPfeMemoryErrorsEntryには、以下の表に示すオブジェクトが含まれています。

表4:jnxPfeMemoryErrorsTable

オブジェクト

オブジェクトID

説明

jnxPfeFpcSlot

jnxPfeMemoryErrorsEntry 1

このPFE通知セットのFPCスロット番号を示します

jnxPfeSlot

jnxPfeMemoryErrorsEntry 2

この一連のエラーのPFEスロット番号を示します

jnxPfeParityErrors

jnxPfeMemoryErrorsEntry 3

パリティエラーカウントを示します

jnxPfeEccErrors

jnxPfeMemoryErrorsEntry 4

エラー チェック コード(ECC)のエラー数を示します

pfeMemoryErrors

オブジェクト識別子が{jnxPfeNotification 0}であるpfeMemoryErrorsNotificationPrefixには、pfeMemoryErrors属性が含まれています。識別子が{pfeMemoryErrorsNotificationPrefix 1}の pfeMemoryErrors オブジェクトには、jnxPfeParityErrors オブジェクトと jnxPfeEccErrors オブジェクトが含まれています。

表5:pfeMemoryErrors

オブジェクト

オブジェクトID

説明

pfeMemoryErrors

pfeMemoryErrorsNotificationPrefix 1

jnxPfeParityErrors または jnxPfeEccErrors の値が増加すると、pfeMemoryErrors 通知が送信されます。