内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

QFP/CPU使用率が高い場合の症状

コントロールプレーン(CPU):IOSd

コントロールプレーン – カーネル(CPU)

データプレーン(QFP)

潜在的なログの検出

TACの初期トリアージに必要な情報

高いCPU/QFP使用率について

一般的なトラブルシューティングの手順

Cisco IOS-XEルータでのCPUの高使用について

Cisco IOS-XEルータでの高いQFPについて

Cisco IOS XEルータでの高いCPU/QFP（ISR4300/4200/4400/4600シリーズ、Cat8200/8300/8500、CSR1000v、CAT8000v）

モジュラ型Cisco IOS-XEルータでの高いCPU使用率（ASR1kシリーズ）

はじめに

このドキュメントでは、高いCPU/QFPの問題を迅速に解決するためにTACに適切に報告するための、一般的なトラブルシューティングについて説明します。

前提条件

要件

次の項目に関する基本的な知識が推奨されます。

- Cisco IOS®-XEパケット転送アーキテクチャに関する基礎知識。

- パケットトレース機能の基本的な経験。

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。これは、ASR1000、ISR4000、ISR1000、Cat8000またはCat8000vなどの物理/仮想化QFPを使用するルーティングCisco IOS-XE®プラットフォームに適用されます。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

このドキュメントでは、最初の問い合わせから優れたTACエクスペリエンスを得るために、高CPU/QFP問題の初期トリアージにTACが必要とするコマンドの概要を説明します。

また、中央処理装置(CPU)またはQuantum Flow Processor(QFP)の使用率が高い問題を特定し、TACケースをオープンする前に解決策を見つけるための、トラブルシューティングのヒントも記載されています。

このドキュメントの目的は、トラブルシューティング手順を広く説明することではありません。詳細なトラブルシューティングガイドが用意されている場合は、そのガイドへの参照も提供されています。

このドキュメントの最後には、コンポーネントを視覚的に表すブロック図があり、教育目的に使用できます。

メモリ、TCAM、CPU、QFPなどのコンポーネントの使用率が高い場合、通常は次のいずれかが示されます。

- デバイス上で問題が発生している（プロセスが期待どおりに動作しない、ソフトウェアに問題がある）か、ネットワーク環境で問題が発生している（パントトラフィック、ループ）

- デバイスのハードウェア制限に達する（デバイスで実行されているトラフィック/機能が多すぎる）

コンポーネントの使用率が高くなる根本的な原因を特定することは、問題を解決するための適切な措置を判断するために不可欠です。

QFP/CPU使用率が高い場合の症状

監視ツールまたは次のコマンドを使用して、CPUまたはQFPの高使用状態があるかどうかを検証できます。

コントロールプレーン(CPU):IOSd

show process cpu sorted

iosxe_router#show process cpu sorted

CPU utilization for five seconds: 90%/0%; one minute: 0%; five minutes: 0%

PID Runtime(ms)     Invoked      uSecs   5Sec   1Min   5Min TTY Process

395       78769     1242162         63  89.07%  88.04%  89.02%   0 CDP Protocol

1           8          88         90  0.00%  0.00%  0.00%   0 Chunk Manager

--- snip ---

「CPU utilization for five seconds: 90%/0%; one minute: 0%; five minutes: 0%」という行から、「five seconds」文字列の後の最初の値に注目する必要があります。この場合、90 %は全体的なCPU使用率を示し、この場合のスラッシュ0の右側の数字は割り込みによるCPU使用率を示します。これら2つの数値の差は、プロセスによる合計CPU使用率を表します。このシナリオでは、CDPプロトコルがCPU（コントロールプレーン）リソースのほとんどを消費しています。

コントロールプレーン – カーネル(CPU)

Cisco IOS XEはLinuxベースのカーネルを使用するため、実行されているいずれかのプロセスに問題が見つかることがあります。その場合は、show processes CPU platform sortedを使用して、プロセスが問題を引き起こしているかどうかを検証できます（5秒の列に注目してください） 基盤となるオペレーティングシステムからのプロセスを表示します。

iosxe_router#show process cpu platform sorted

-- depending on the architecture, there can be multiple cores, deleting for brevity --

Pid    PPid    5Sec    1Min    5Min  Status        Size  Name

--------------------------------------------------------------------------------

18009   18001    323%    325%    328%  R           266740  ucode_pkt_PPE0

11168   11160      1%      1%      1%  S           914556  linux_iosd-imag

96       2      1%      0%      0%  S                0  ksmd

--- snip ---

注：仮想QFPを持つルータには、データプレーンをエミュレートするソフトウェアプロセスであるucode_pkt_PPE0プロセスがあります。したがって、CPU使用率の一因となるプロセスのリストから、そのプロセスを無視できます。

データプレーン(QFP)

QFPは、すべてのパケット転送を担当するSystem on a Chip(SOC)です。詳細については、「IOS-XEルータでのQFPの上昇について」を参照してください。

iosxe_router #show platform hardware qfp active datapath utilization

CPP 0: Subdev 0            5 secs        1 min        5 min       60 min

--- snip ---

(bps)        21992        13648        13736        13720

Processing: Load (pct)            0            0            0            0

Crypto/IO

RX: Load (pct)            0            0            0            0

TX: Load (pct)            1            1            1            0

Idle (pct)           99           99           99           99

show platform hardware qfp active data path utilizationコマンドから、「processing: Load for the 5 seconds」列に注目します。この列にはQFP使用率の全体のうち、最新のものが表示されます。一部のデバイスでは、Crypto/IOモジュールの使用率も表示されます。アイドル状態に重点が置かれ、100 %に近いほど良好です。

潜在的なログの検出

デフォルトでは、CPU番号0（Cisco IOS-XEシステムの最初のCPU）を使用するIOSdで高いCPU使用率を示すログは、システムによって生成されません。

最初のコアでsyslogを生成するには、このコマンドを最初に設定する必要があります。

このコマンドは、「CPUしきい値通知：process cpu threshold type {total |プロセス |interrupt} rising percentage interval seconds [falling percentage interval seconds]

このようにして、次のタイプの通知を確認できます。

%SYS-1-CPURISINGTHRESHOLD: Threshold: Total CPU Utilization(Total/Intr): 91%/2%, Top 3 processes(Pid/Util):

高い使用率を検出するもう1つの方法は、SNMPまたはテレメトリ測定を使用する方法です。

場合によっては、他のコアの使用率への影響が大きい場合に、次のようなリソース制限アラートが表示されることがあります。

PLATFORM_INFRA-5-IOS_INTR_OVER_LIMIT:

データプレーン(DP)の場合、通常しきい値の負荷を超過したことを示す次のタイプのQFPアラートがログに表示されます。

MCPRP-QFP-ALERT: Slot: 0, QFP:0, Load 93% exceeds the setting threshold(80%).

TACの初期トリアージに必要な情報

- 高いCPU動作が見られる場合の次のコマンドの出力。

- show clock

- show version

- show running

- show process cpu sorted

- プロセスcpu履歴の表示

- プラットフォームリソースの表示

- show platform hardware qfp active datapath utilization summary

- show logging

- ネットワーク トポロジ.

- CPU/QFP使用率の履歴グラフ。

- 最近のネットワークや設定の変更、予想されるトラフィックレートやフローなどの詳細情報を提供します。

CPUが一定の100 %でスタックしていない場合は、show techの出力を含めます。これはTACにとって大きな助けになります。問題を迅速に見つけることができるようにTACが開発した自動化のメリットを活用できます。

注：デバイスにはプロセスの実行時間に関する履歴データが保存されないため、問題が発生している間にCPUの高使用状態をトラブルシューティングする必要があります。

注：サポートされているバージョンを実行していることを確認してください。リリースの販売終了およびサポート終了に関する文書を探します。必要に応じて、現在Software Maintenance Releasesの対象になっているバージョンに移行します。それ以外の場合、TACはトラブルシューティングと解決のオプションを制限します。

高いCPU/QFP使用率について

原則として、CPU/QFPは80 %を超えて実行されている場合、高いと見なされます。

Cisco IOS-XEルータは、コントロールプレーン(CPU)またはデータプレーン(QFP)の使用率が高いことと関連付けることができます。

注：理想的には、高いCPU/QFP使用率は、時間の経過に伴うデバイスの一般的な使用パターンと比較して評価する必要があります。たとえば、あるデバイスが通常10 %のCPU使用率で動作しているのに、突然40 %にジャンプした場合、そのデバイスのCPU使用率が高いことを示しています。一方、CPU使用率が80 %で動作し続けるデバイスは、それが通常の動作レベルである場合は、必ずしも問題にはなりません。CPUグラフを使用してシステムを監視すると、このデータを収集して分析し、各デバイスのベースラインを確立するのに役立ちます。

一般的なトラブルシューティングの手順

1. 問題がコントロールプレーン(CPU)かデータプレーン(QFP)かを特定します。

2. 特定のコマンドを使用して、問題のあるプロセスを特定します。

3. プロセス名に基づいて、そのプロセスのWeb検索を実行します。

- そのプロセスを既知の機能や設定と一致させることに重点を置きます。

- プロセス名と動作に一致するソフトウェア不具合があるかどうかを確認します。該当する場合は、回避策を実装するか、修正済みリリースへのソフトウェアのアップグレードを行います。

4. CPU/QFPグラフを使用して、CPU/QFPの使用率が増加し始める正確な時刻を特定します。最近の変更と一致する場合は、初期の設定/ソフトウェアバージョンに戻して結果を確認します。

5. Web検索で有用な結果が得られない場合、または機能が正しく動作していないと考えられる場合は、次の情報を使用してTACケースをオープンしてください。

- show tech

- 収集したコマンド（「TACの初期トリアージに必要な情報」セクションを参照）

- 問題が特定の設定変更で発生した時間に合わせて、TACケースをオープンする際にこの情報を含めるようにしてください。

- データプレーンが問題であると特定された場合：ネットワークトポロジ、予想ユーザ数、およびデバイスを通過する一般的なトラフィックレートを提供します。

- 可能であれば、CPU/QFP使用率の履歴グラフを提供します。

Cisco IOS-XEルータでのCPUの高使用について

Cisco IOS-XEルータのCPUとは、デバイスの管理/コントロールプレーンの動作を担当するCPUを指します。デバイス上では多くのプロセスが実行されており、そのすべてがLinuxベースのカーネル上で実行されています。これらの各プロセスは、汎用CPUで実行されます。

CPUの使用率が高い状態は、通常、次の状態を示しています。

- 1つ以上のプロセスが高負荷のタスクを完了しなければならない。

- 1つ以上のプロセスが期待どおりに動作していません。

- データプレーンによって送信されるパケットを受信して処理するコントロールプレーン。

プラットフォームによっては、次のルールに従った複数の汎用CPUが搭載されています。

- Cisco IOS-XEルータがモジュラ形式（つまり、ルートプロセッサ、エンベデッドサービスプロセッサ、SPAインターフェイスプロセッサなどの複数のカードを受け入れる形式）である場合、コントロールプレーンの動作に使用できる複数のCPUと、各カードに1つの汎用CPUがあります。

- Cisco IOS XEルータが組み込み型で、サービスモジュールまたはインターフェイスカードのみを受け入れる場合、ルータは単一の汎用CPU（仮想または物理）を搭載し、ルートプロセッサ内にあると見なされます(show platform resourcesの出力を参照)。

Cisco IOSXEデバイスには、通常、データプレーンとコントロールプレーンのCPU専用コアがあります。

一般に、CPU 0（最初のCPU）がIOSd（IOSデーモン）に関連付けられている場合、CPU専用コアはコントロールプレーンに関連しています。その他のCPUは、コントロールプレーンCPUとデータプレーンCPUの混在が可能です。

一般的にモジュラ形式であるASR 1000の場合、show platform resourcesやshow platform software status control-processor briefなどのコマンド出力には、コントロールプレーン(RP)CPUとデータプレーン(ESP)CPUの使用状況が示されます。

- ISR4000シリーズの場合は、『サービス統合型ルータ4000のPerformance Licenseの実装』を参照してください。既存のモデル間のさまざまなCPU配分のダイアグラムが示されています。

- Cisco CSR1000vやCisco CSR8000vなどの仮想プラットフォームは、デフォルトでvCPUのほとんどがデータプレーン専用のテンプレートベースです。『データプレーン、コントロールプレーン、およびサービスプレーン間でのvCPU分散の設定』および『Cisco Catalyst 8000Vエッジソフトウェアインストールおよび設定ガイド』を参照してください。

コントロールプレーンCPUは、BGPプロトコル、STPプロトコル、CDP、SSHなどの処理を制御するプロトコル専用です。コントロールプレーンCPUは、ルータ自体を宛先とするパケットを処理します。

データプレーンとは一般に、ルータがRouting Processor（RP；ルーティングプロセッサ）で自身を消費することなく、代わりにパケットプロセッサであるQuantum Flow Processor(QFP)コンポーネントだけで処理されるパケットを、データプレーンが処理する中継パケットのことを指します。これらのパケットは、ルックアップが意図された宛先に中継パケットを送信するQFPで処理されます。

Cisco IOS-XEルータでの高いQFPについて

Quantum Flow Processor(QFP)は、デバイス内のすべてのパケット転送動作を担当するSystem on a Chip(SoC)です。

QFPは、マイクロコードと呼ばれる特殊なソフトウェアを実行します。このマイクロコードは、入出力インターフェイス設定に基づいて、デバイスを通過するすべてのパケットに機能を実行および適用します。また、さまざまなプロセスを通じてシステムの他の部分とも対話します。

QFPが高い状態になると、通常は次の状態が示されます。

- QFPが処理するネットワークトラフィックが多すぎる（1秒あたりのパケット数）。

- QFPは高強度機能を処理する必要があります。

- 1秒あたりのパケット数と集約度の高い機能の組み合わせは、QFP使用率に大きな影響を与えます。

- マイクロコードが間違った方法で何かを処理しています。

この状況をより詳しく理解するには、TACは追加分析のためにFeature Invocation Array(FIA)トレースを収集する必要があります。これは、「IOS-XEデータパスパケットトレース機能のトラブルシューティング」で説明されています。

Cisco IOS XEルータでの高いCPU/QFP（ISR4300/4200/4400/4600シリーズ、Cat8200/8300/8500、CSR1000v、CAT8000v）

これらは、問題発生時に収集する必要がある基本的なコマンドです（ログ通知と照合して出力を取得するために、EEMロジックを実装できます）。

router_non_modular#show platform resources

**State Acronym: H - Healthy, W - Warning, C - Critical

Resource                 Usage                 Max             Warning         Critical        State

----------------------------------------------------------------------------------------------------

RP0 (ok, active)                                                                               H

Control Processor       10.64%                100%            80%             90%             H

DRAM                   2143MB(54%)           3913MB          88%             93%             H

bootflash              2993MB(97%)           3099MB          70%             90%             C

ESP0(ok, active)                                                                               H

QFP                                                                                           H

DRAM                   52844KB(20%)          262144KB        85%             95%             H

IRAM                   207KB(10%)            2048KB          85%             95%             H

CPU Utilization        0.00%                 100%            90%             95%             H

Router#show platform software status control-processor brief

Load Average

Slot  Status  1-Min  5-Min 15-Min

RP0 Healthy   1.75   1.25   1.14

Memory (kB)

Slot  Status    Total     Used (Pct)     Free (Pct) Committed (Pct)

RP0 Healthy  4003008  2302524 (58%)  1700484 (42%)   3043872 (76%)

CPU Utilization

Slot  CPU   User System   Nice   Idle    IRQ   SIRQ IOwait

RP0    0   5.60  10.80   0.00  75.00   0.00   0.10   8.50

1   8.10  11.81   0.00  66.66   0.00   0.20  13.21

2   4.69   9.49   0.00  80.81   0.00   0.19   4.79

3   4.80  10.20   0.00  79.30   0.00   0.10   5.60

4   3.70   3.20   0.00  92.90   0.00   0.00   0.20

5   1.09   2.99   0.00  95.00   0.00   0.09   0.79

6  20.00  33.10   0.00  46.90   0.00   0.00   0.00

7   0.00   0.00   0.00 100.00   0.00   0.00   0.00

Router#

モジュラ型Cisco IOS-XEルータでの高いCPU使用率（ASR1kシリーズ）

モジュラ型のCisco IOS-XEルータでCPU使用率が高いと、ルートプロセッサ(RP)カード、エンベデッドサービスプロセッサ(ESP)カード、またはSPAインターフェイスプロセッサ(SIP)カードでCPU使用率が高くなることがあります。次のコマンドは、CPUの高使用状態がデバイス内の別のカードに関連しているかどうかを理解するのに役立ちます。

ios_xe_modular_router#show platform resources

**State Acronym: H - Healthy, W - Warning, C - Critical

Resource                 Usage                 Max             Warning         Critical        State

----------------------------------------------------------------------------------------------------

RP0 (ok, active)                                                                               H

Control Processor       11.62%                100%            90%             95%             H

DRAM                   1730MB(45%)           3783MB          90%             95%             H

ESP0(ok, active)                                                                               H

Control Processor       19.59%                100%            90%             95%             H

DRAM                   616MB(65%)            946MB           90%             95%             H

QFP                                                                                           H

TCAM                   8cells(0%)            65536cells      45%             55%             H

DRAM                   79212KB(30%)          262144KB        80%             90%             H

IRAM                   9329KB(7%)            131072KB        80%             90%             H

SIP0                                                                                           H

Control Processor       2.30%                 100%            90%             95%             H

DRAM                   280MB(60%)            460MB           90%             95%             H

* Cisco IOSバージョンによっては、QFPにプロセッサ使用率が含まれる場合があります。含まれない場合は、show platform hardware qfp datapath utilization

ASR1kの適切なリファレンスガイドは、「ASR1000シリーズルータでのCPU高使用率のトラブルシューティング」にあります。

注：コマンドは、プラットフォームやバージョンによって異なる場合があります。場合によっては、特定のプラットフォームのマニュアルを参照してください。