この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、高いCPU/QFPの問題を迅速に解決するためにTACに適切に報告するための、一般的なトラブルシューティングについて説明します。
次の項目に関する基本的な知識が推奨されます。
このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。これは、ASR1000、ISR4000、ISR1000、Cat8000またはCat8000vなどの物理/仮想化QFPを使用するルーティングCisco IOS-XE®プラットフォームに適用されます。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
このドキュメントでは、最初の問い合わせから優れたTACエクスペリエンスを得るために、高CPU/QFP問題の初期トリアージにTACが必要とするコマンドの概要を説明します。
また、中央処理装置(CPU)またはQuantum Flow Processor(QFP)の使用率が高い問題を特定し、TACケースをオープンする前に解決策を見つけるための、トラブルシューティングのヒントも記載されています。
このドキュメントの目的は、トラブルシューティング手順を広く説明することではありません。詳細なトラブルシューティングガイドが用意されている場合は、そのガイドへの参照も提供されています。
このドキュメントの最後には、コンポーネントを視覚的に表すブロック図があり、教育目的に使用できます。
メモリ、TCAM、CPU、QFPなどのコンポーネントの使用率が高い場合、通常は次のいずれかが示されます。
コンポーネントの使用率が高くなる根本的な原因を特定することは、問題を解決するための適切な措置を判断するために不可欠です。
監視ツールまたは次のコマンドを使用して、CPUまたはQFPの高使用状態があるかどうかを検証できます。
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(コントロールプレーン)リソースのほとんどを消費しています。
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は、すべてのパケット転送を担当する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%).
CPUが一定の100 %でスタックしていない場合は、show techの出力を含めます。これはTACにとって大きな助けになります。問題を迅速に見つけることができるようにTACが開発した自動化のメリットを活用できます。
注:デバイスにはプロセスの実行時間に関する履歴データが保存されないため、問題が発生している間にCPUの高使用状態をトラブルシューティングする必要があります。
注:サポートされているバージョンを実行していることを確認してください。リリースの販売終了およびサポート終了に関する文書を探します。必要に応じて、現在Software Maintenance Releasesの対象になっているバージョンに移行します。それ以外の場合、TACはトラブルシューティングと解決のオプションを制限します。
原則として、CPU/QFPは80 %を超えて実行されている場合、高いと見なされます。
Cisco IOS-XEルータは、コントロールプレーン(CPU)またはデータプレーン(QFP)の使用率が高いことと関連付けることができます。
注:理想的には、高いCPU/QFP使用率は、時間の経過に伴うデバイスの一般的な使用パターンと比較して評価する必要があります。たとえば、あるデバイスが通常10 %のCPU使用率で動作しているのに、突然40 %にジャンプした場合、そのデバイスのCPU使用率が高いことを示しています。一方、CPU使用率が80 %で動作し続けるデバイスは、それが通常の動作レベルである場合は、必ずしも問題にはなりません。CPUグラフを使用してシステムを監視すると、このデータを収集して分析し、各デバイスのベースラインを確立するのに役立ちます。
Cisco IOS-XEルータのCPUとは、デバイスの管理/コントロールプレーンの動作を担当するCPUを指します。デバイス上では多くのプロセスが実行されており、そのすべてがLinuxベースのカーネル上で実行されています。これらの各プロセスは、汎用CPUで実行されます。
CPUの使用率が高い状態は、通常、次の状態を示しています。
プラットフォームによっては、次のルールに従った複数の汎用CPUが搭載されています。
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の使用状況が示されます。
コントロールプレーンCPUは、BGPプロトコル、STPプロトコル、CDP、SSHなどの処理を制御するプロトコル専用です。コントロールプレーンCPUは、ルータ自体を宛先とするパケットを処理します。
データプレーンとは一般に、ルータがRouting Processor(RP;ルーティングプロセッサ)で自身を消費することなく、代わりにパケットプロセッサであるQuantum Flow Processor(QFP)コンポーネントだけで処理されるパケットを、データプレーンが処理する中継パケットのことを指します。これらのパケットは、ルックアップが意図された宛先に中継パケットを送信するQFPで処理されます。
Quantum Flow Processor(QFP)は、デバイス内のすべてのパケット転送動作を担当するSystem on a Chip(SoC)です。
QFPは、マイクロコードと呼ばれる特殊なソフトウェアを実行します。このマイクロコードは、入出力インターフェイス設定に基づいて、デバイスを通過するすべてのパケットに機能を実行および適用します。また、さまざまなプロセスを通じてシステムの他の部分とも対話します。
QFPが高い状態になると、通常は次の状態が示されます。
この状況をより詳しく理解するには、TACは追加分析のためにFeature Invocation Array(FIA)トレースを収集する必要があります。これは、「IOS-XEデータパスパケットトレース機能のトラブルシューティング」で説明されています。
これらは、問題発生時に収集する必要がある基本的なコマンドです(ログ通知と照合して出力を取得するために、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使用率が高いと、ルートプロセッサ(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高使用率のトラブルシューティング」にあります。
注:コマンドは、プラットフォームやバージョンによって異なる場合があります。場合によっては、特定のプラットフォームのマニュアルを参照してください。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
23-Oct-2024 |
初版 |