内容

概要

前提条件

要件

使用するコンポーネント

表記法

Catalyst 4500/4000、2948G、2980G、および 4912G スイッチでの CPU 使用率の理解

一般的な sh proc cpu コマンドの使用率

高い CPU 使用率の原因

Ping 遅延

推奨事項

関連情報

概要

このドキュメントでは、Catalyst OS（CatOS）システム ソフトウェアを実行する Cisco Catalyst 4500/4000、2948G、2980G、および 4912G スイッチでコマンドを実行する場合の show processes cpu コマンドの出力について説明します。このドキュメントでは、これらのスイッチで高 CPU 使用率の原因を識別する方法について説明します。また、Catalyst 4500 シリーズの高い CPU 使用率の原因となる一般的なネットワークや設定のシナリオもいくつか示します。

注：Cisco IOSソフトウェアベースのCatalyst 4500/4000シリーズスイッチを実行している場合は、「Cisco IOSソフトウェアベースのCatalyst 4500/4000スイッチでのCPU高使用率」を参照してください。

注：このドキュメントでは、switchとswitchという用語は、Catalyst 4500/4000、2948G、2980G、および4912Gスイッチを指しています。

Cisco ルータと同様に、スイッチでは、スイッチのスーパーバイザ エンジン プロセッサの CPU 使用率を表示するのに show processes cpu コマンドが使用されます。ただし、Cisco ルータと Cisco スイッチではアーキテクチャおよび転送メカニズムが異なるため、show processes cpu コマンドの一般的な出力も大幅に異なります。また、出力の意味も異なります。

この文書では、それらの違いも明らかにします。このドキュメントでは、スイッチの CPU の使用方法および show processes cpu コマンドの出力の解釈のしかたを説明します。

前提条件

要件

このドキュメントに特有の要件はありません。

使用するコンポーネント

この文書の情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- CatOS が稼働している Catalyst 4500/4000 スイッチ

- Catalyst 2948G スイッチ

- Catalyst 2980G および 2980G-A スイッチ

- Catalyst 4912G スイッチ

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、「シスコ テクニカル ティップスの表記法」を参照してください。

Catalyst 4500/4000、2948G、2980G、および 4912G スイッチでの CPU 使用率の理解

Cisco のソフトウェアベースのルータでは、パケットの処理とルーティングをソフトウェアで処理しています。ルータによるパケットの処理とルーティングが多くなると、ルータの CPU 使用率も高くなります。そのため、show processes cpu コマンドでは、ルータでのトラフィック処理の負荷がかなり正確に表示されます。

CatOS が稼働する Catalyst 4500/4000、2948G、2980G、および 4912G スイッチでは、CPU は同一の方法で使用されません。これらのスイッチでは、ソフトウェアではなく、ハードウェアで転送が決定されます。そのため、スイッチを通過するほとんどのフレームの転送またはスイッチングの決定をする際には、スーパーバイザ エンジンの CPU は使用されません。

その代わり、スーパバイザ エンジン CPU は、その他の重要な機能を実行します。実行する機能には次のものがあります。

- MAC アドレス学習とエージングの支援

注：MACアドレス学習は、パス設定とも呼ばれます。

- ネットワーク制御を実現するプロトコルおよびプロセスの実行

例としては、Spanning Tree Protocol（STP; スパニングツリー プロトコル）、Cisco Discovery Protocol（CDP; Cisco 検出プロトコル）、VLAN Trunk Protocol（VTP; VLAN トランク プロトコル）、Dynamic Trunking Protocol（DTP; ダイナミック トランキング プロトコル）、Port Aggregation Protocol（PAgP; ポート集約プロトコル）などがあります。

- スイッチの sc0 または me1 インターフェイスを宛先とするネットワーク管理トラフィックの処理

例としては、Telnet、HTTP、Simple Network Management Protocol（SNMP）のトラフィックなどがあります。

show processes cpu コマンドは、スーパバイザ エンジン CPU に関する情報を表示します。転送を判断するスイッチ ハードウェアではこの情報は表示されません。そのため、このコマンドの出力は、スイッチのスイッチング パフォーマンスまたはトラフィック負荷と直接関連しません。

一般的な sh proc cpu コマンドの使用率

潜在的な問題や修正を確認するには、

- ご使用のシスコ デバイスから show-tech support コマンドまたは show processes cpu コマンドを発行します。

- アウトプットインタープリタ (登録ユーザ専用)ツールを使用します。

場合によっては、トラフィックをほとんどまたはまったく渡すことがないスイッチから、CatOS ベースのその他のスイッチの一般的な使用率よりも高い CPU 使用率が報告されることがあります。show processes cpu コマンドの出力に、この高い CPU 使用率が示されます。

注：他のCatOSベースのスイッチの例としては、Catalyst 5500/5000および6500/6000シリーズスイッチがあります。

Catalyst 4003、4006、2948G、2980G、または4912Gスイッチでは、一般的なCPU使用率は1 ～ 30 %です。1 つ以上の WS-X4148-RJ45V モジュールを装着した Catalyst 4006 スイッチでは、一般的な使用率はそれより高くなります。一般的な使用率は通常20 ～ 50 %です。使用率が高い原因は、これらのモジュールが接続している IP フォンを検出するために追加のポート モニタリングを実行することにあります。必要に応じてインライン パワーを適用できるようにするため、これらのモジュールは接続している電話を検出する必要があります。

たいてい、これらの一般的なパーセンテージは、スイッチを通過するトラフィックの量に比例して増加しません。そのため、スイッチが完全にアイドルであっても、多量のトラフィックを渡していても、平均の CPU 使用率は大きく変化しません。

一般的に、パーセンテージが最も高いプロセスは、Switching Overhead プロセスおよび Admin Overhead プロセスです。次に、CatOS が稼働するスーパーバイザ エンジン II を備えた Catalyst 4006 スイッチに対する show processes cpu コマンドの出力例を示します。

注：一部の出力は、わかりやすくするために省略されています。

Console> (enable) show processes cpu

CPU utilization for five seconds:  43.72%

one minute:  43.96%

five minutes:  34.17%

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

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

1   143219346   0          0         74.28%  56.04%  65.83% -2  Kernel and Idle

3   5237943     1313358    330000     2.84%   2.00%   2.00% -2  SynConfig

13  4378417     92798429   2000       1.97%   1.00%   1.00% -2  gsgScpAggregati

19  2692969     8548403    14000      1.23%   1.00%   1.00% -2  SptBpduRx

84  6702117     92798314   9000       2.77%   2.00%   2.00% 0   Console

97  9382372     16190292   12499      4.26%   4.22%   4.31% 0   Packet forwardi

98  23438905    7904296    9352      16.64%  19.57%  17.50% 0   Switching overh

99  2271479     1443242    57968      1.19%   1.04%   0.98% 0   Admin overhead

Console> (enable)

Switching Overhead は実際には、さまざまなサブプロセスで構成されるプロセスです。これらのサブプロセスは次のタスクを処理します。

- 新規 MAC アドレスのアドレス学習

注：MACアドレス学習は、パス設定とも呼ばれます。

- 通常のホスト入力エージング、および STP トポロジ変更通知（TCN）ブリッジ プロトコル データ ユニット（BPDU）の受信のためのファスト エージング

- STP BPDU、CDP、VTP、DTP、PAgP などの制御トラフィックのパケット処理

- sc0 または me1 サブネットのブロードキャストおよびマルチキャスト パケットに加えて、Telnet、SNMP、および HTTP などの管理トラフィックのパケット処理

Admin Overhead は、スイッチ ハードウェア管理のプロセスです。Admin Overhead は次のタスクを処理します。

- スイッチ ファブリック特定用途向け集積回路（ASIC）およびその他のハードウェア管理

- ラインカード ASIC 管理

- ポート モニタリング

高い CPU 使用率の原因

このドキュメントの「一般的な show processes cpu コマンドの使用率」の項で説明するように、Catalyst 4500/4000 シリーズ スイッチの一般的な CPU 使用率は、その他の CatOS ベース スイッチよりも高くなります。その他のスイッチには Catalyst 5500/5000 や 6500/6000 などがあります。

ただし、場合によっては、スーパバイザ エンジン CPU 使用率は、この所定範囲を超えることがあります。CPU 使用率がスイッチの一般的な範囲を超える場合は、次の理由が考えられます。

- アドレス学習：送信元 MAC アドレスから宛先 MAC アドレスへのフローの最初のフレームは、スーパバイザ エンジン CPU にリダイレクトされます。このリダイレクトにより、アドレス学習が発生することがあります。CPU がハードウェアでパスを設定すると、同じ送信元および宛先 MAC アドレスを使用する後続のフレームはハードウェアで切り替えられます。CPU は関係しません。そのため、CPU が短期間で多量の MAC アドレスを学習する必要がある場合、CPU 使用率は上昇することがあります。パスの設定中は使用率が上昇します。スイッチは、営業日の営業開始時や昼休みの直後などに、短期間で多量の MAC アドレスを学習する必要があります。このような状況では、多数のユーザが各自のシステムの電源を入れ、ネットワークにログインします。

- ネットワークの STP TCN：TCN BPDU が原因で、スイッチは学習した MAC アドレスでファスト エージングを実行します。一般的な結果として、アドレス学習およびパス設定のために多数のフレームが CPU に送信されます。したがって、TCN の根本原因を特定し、発生を防止する必要があります。考えられる原因を次に示します。

- ネットワークでのフラッピング ポート

- STP Portfast がイネーブルにされていないポートで電源を投入および切断するホスト

- 管理インターフェイスでの過剰なブロードキャストトラフィックの受信(sc0またはme1)：管理サブネット/VLAN内のブロードキャストは、スイッチのプロトコルスタックの十分な高さに上げて、スーパーバイザエンジンがトラフィックの意図された受信者かどうかを判断する必要があります。スイッチでの CPU 使用率が上昇する原因となる可能性のあるトラフィックの例を次に示します。

- Internetwork Packet Exchange（IPX）Routing Information Protocol/Service Advertising Protocol（RIP/SAP）

- AppleTalk 制御トラフィック

- Network Basic Input/Output System（NetBIOS）フレームのブロードキャスト

- ブロードキャストを使用するレガシー IP アプリケーション

- 過剰な管理トラフィック：特定の管理トラフィックが原因で、スイッチで CPU 使用率が高くなることがあります。この例として、特に頻繁な SNMP ポーリングがあります。

- ソフトウェア スイッチド トラフィック：レイヤ 3 モジュールを使用する場合は、ネイティブ VLAN のルータに到達するすべてのトラフィックはソフトウェアでルーティングされていることに注意してください。この状況は、スイッチのパフォーマンスに悪影響があります。WS-X4232-L3 のマイクロコードはタグなしでネイティブ VLAN で受信 802.1Q パケットを処理しません。代わりに、パケットは CPU に移動し、CPU はパケットを処理します。その結果、CPU がネイティブ VLAN サブインターフェイスでタグなしのパケットを高頻度で受信する場合に、CPU 使用率が高くなります。このため、ネイティブ VLAN としてダミー VLAN（ユーザ トラフィックを含まない）を作成します。

注：ルータとスイッチ間のトランクリンクに、ネイティブVLANとしてダミーVLANを作成します。CPU はソフトウェアでスイッチのパフォーマンスに悪影響を与える、ネイティブ VLAN を送信するすべてのトラフィックをルーティングします。ユーザがネットワーク内の他の場所で使用して作成し、この VLAN にルータとスイッチ間のトランク リンクのネイティブ VLAN としての VLAN を示します。

Ping 遅延

他に誤解される内容として、ping 応答遅延が、スイッチ スーパバイザ エンジン上の高い CPU 使用率によって引き起こされるということがあげられます。応答遅延は、スイッチの sc0 インターフェイスに対して ping を実行すると発生します。応答遅延 は 10 ms を超えます。

Internet Control Message Protocol（ICMP）要求および応答処理は、スーパバイザ エンジンでは優先度の低いタスクです。これよりも重要度の高い多数のタスクが、ping 応答生成よりも優先されます。したがって、完全にアイドル状態のスイッチでも7 ～ 10 msのping応答時間が一般的です。特に混雑しているスイッチでは、応答時間は長くなる場合があります。

ただし、スイッチを経由する ping は通常ハードウェア内で転送されます。この場合、スイッチは ICMP エコー要求と応答を単なるデータ フレームとして認識します。応答遅延の内訳は次のとおりです。

- スイッチ経由でのラウンドトリップ転送遅延

一般にこれはマイクロ秒単位の非常に短い遅延です。

- ping 要求および応答への応答とプロセスにおける IP スタックの遅延

- ICMP パケットが通過する必要があるネットワーク上でのその他の遅延。

このような遅延の例として、複数ルータ ホップがあります。

- スタティック ルーティングを集中的に使用したことによる不要な IP リダイレクト

推奨事項

スーパーバイザ エンジンの CPU 使用率は、スイッチのハードウェア転送能力を反映していません。それでも、スーパーバイザ エンジンの CPU 使用率のベースライン値を取得して、監視する必要があります。

1. 通常のトラフィック パターンおよびロードを持つ安定した状態のネットワークのスイッチについての、スーパバイザ エンジン CPU 使用率をベースラインとします。

どのプロセスの CPU 使用率が最も高いかに注意してください。

2. CPU 使用率をトラブルシューティングする際には、次の質問点を考慮します。

- どのプロセスの使用率が最も高いか。これらのプロセスは、ベースライン値とは異なっているか。

- CPU は常にベースライン値よりも高い使用率になっているか。それとも、ときどき高使用率が瞬間的に発生して、ベースラインのレベルに戻るのか。

- ネットワーク上で TCN があるか。あるいは、ループを防ぐためスパニング ツリー パラメータを使用して冗長リンクが適切に設定されているか。

注：フラッピングポートまたはSTP PortFastが無効になっているホストポートは、TCNの原因になります。

- 管理サブネットまたは VLAN に過剰なブロードキャストまたはマルチキャストのトラフィックがあるか。

- スイッチに SNMP ポーリングなどの管理トラフィックが過剰にあるか。

3. できれば、ユーザ データ トラフィックのある VLAN、特にブロードキャスト トラフィックの多い VLAN から管理 VLAN を切り離します。

このタイプのトラフィックの例としては、IPX RIP/SAP、AppleTalk およびその他のブロードキャスト トラフィックなどがあります。そのようなトラフィックは、スーパーバイザ エンジンの CPU 使用率に影響を与える可能性があり、極端な場合は、スイッチの正常な動作を妨げる可能性もあります。

4. スイッチのアップグレードを検討してください。

CatOSが稼働するCatalyst 4500/4000シリーズのスーパーバイザエンジンおよびスイッチの場合は、リリース5.5(7)以降へのスイッチアップグレードを検討してください。

これらのリリースでは、さまざまな CPU 関連の最適化、特に Switching Overhead サブプロセスに関連する最適化が統合されています。

CatOS リリース 6.4.4 以降では、管理要求タイムアウト期間が拡大されました。タイムアウト期間の拡大により、ビジー状態の CPU が原因で発生する一時的な制御パケット タイムアウトの多くを防止できます。

注：リリース6.1(1)以降では、Catalyst 2980G-Aがサポートされています。

関連情報

- Cisco IOS ソフトウェア ベースの Catalyst 4500/4000 スイッチで CPU の使用率が高い

- Catalyst 6500/6000 スイッチの CPU 高使用率

- Catalyst 3750 シリーズ スイッチでの CPU 高使用率に関するトラブルシューティング

- LAN 製品に関するサポート ページ

- LAN スイッチング テクノロジーに関するサポート ページ

- テクニカル サポートとドキュメント – Cisco Systems