目次

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

一般的な CPU 高使用率の問題に関するトラブルシューティング

過剰な IGMP 脱退メッセージによる高 CPU 使用率

GRE トンネルによる高 CPU 使用率

設定変更による高 CPU 使用率

過度の ARP 要求による高 CPU 使用率

IP SNMP 処理による高 CPU 使用率

SDM テンプレートによる高 CPU 使用率

ポリシー ベース ルーティングによる高 CPU 使用率

過度の ICMP リダイレクトによる高 CPU 使用率

関連情報

概要

このドキュメントでは、Cisco Catalyst 3750 シリーズ スイッチでの CPU 高使用率の原因について説明しています。 シスコ製ルータと同様に、CPU 高使用率の原因を特定するためにスイッチで CPU 使用率を表示するには、show processes cpu コマンドを使用します。 ただし、Cisco ルータと Cisco スイッチではアーキテクチャおよび転送メカニズムが異なるため、show processes cpu コマンドの一般的な出力も大幅に異なります。 このドキュメントでは、Catalyst 3750 シリーズ スイッチでの CPU 高使用率の原因となる一般的な症状についても説明しています。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、Catalyst 3750 スイッチに基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

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

背景説明

CPU のパケット処理アーキテクチャと CPU の使用率が高くなる問題のトラブルシューティングについて考える前に、ハードウェア ベースの転送を行うスイッチと Cisco IOS® ソフトウェア ベースのルータでは CPU の使用方法が異なっていることを理解しておく必要があります。 CPU の使用率が高くなる現象は、デバイス上のリソースの枯渇や、クラッシュの危険を示すものと誤解されていることが多いようです。 容量の問題は、Cisco IOS ルータで CPU 使用率が高くなった場合に発生する症状の 1 つです。 ところが、ハードウェアベースの転送を行うスイッチでは、容量の問題が CPU 高使用率の症状となることはほとんどありません。

CPU 高使用率のトラブルシューティングを行うための最初のステップは、使用している Catalyst 3750 スイッチの Cisco IOS バージョンのリリース ノートを調べて、可能性のある既知の IOS の不具合を探すことです。 この方法で、トラブルシューティングのステップから IOS の不具合を排除できます。 Catalyst 3750 スイッチのリリース ノートの一覧は、『Cisco Catalyst 3750 シリーズ スイッチのリリース ノート』を参照してください。

一般的な CPU 高使用率の問題に関するトラブルシューティング

このセクションでは、Catalyst 3750 スイッチで CPU 使用率が高くなる一般的な問題について説明します。

過剰な IGMP 脱退メッセージによる高 CPU 使用率

高 CPU 使用率の一般的な原因の 1 つは、過剰な Internet Group Management Protocol（IGMP; インターネット グループ管理プロトコル）脱退メッセージの処理によって Catalyst 3750 の CPU がビジー状態になることです。 Cisco IOS ソフトウェア リリース 12.1(14)EA1a が稼働する Catalyst 3750 スイッチのスタックが、CatOS が稼働する Cat6500 のような、IP オプションで MAC ベースの IGMP エントリを生成する他のスイッチに接続されている場合、3750 では IGMPSN（スヌーピング）プロセスで CPU 使用率が高くなる状態が発生します。 これは、そのスタック内での MAC ベースのクエリ パケットのループによる結果です。 HRPC hl2mm request プロセスでも CPU の使用率が高くなる状態が発生します。 Cisco IOS ソフトウェア リリース 12.1(14)EA1a が稼働する Catalyst 3750 のスタックで EtherChannel が設定してあると、過剰な IGMP リーブ メッセージが作成される可能性があります。

Catalyst 3750 では大量の IGMP クエリを受信します。 これにより、IGMP クエリ カウンタが毎秒数百件も増加し始めます。 このため、Catalyst 3750 スイッチで CPU 使用率が高くなります。 Cisco Bug ID CSCeg55298（登録ユーザ専用）を参照してください。 この不具合は、Cisco IOS ソフトウェア リリース 12.1(14)EA1a で確認されており、Cisco IOS ソフトウェア リリース 12.2(25)SEA 以降で解決されています。 永続性のあるソリューションは Cisco IOSバージョンへアップグレードすることです。 一時的な回避策には、Catalyst 3750 スタックで IGMP スヌーピングを無効にする、あるいは、3750 のスタックに接続されたスイッチで MAC ベースのクエリを無効にするなどの方法があります。

show ip traffic コマンドによる出力例を次に示します。ここでは、誤ったオプションの IP パケットと急速に増加するアラートが示されています。

Switch#show ip traffic

Rcvd: 48195018 total, 25628739 local destination

0 format errors, 0 checksum errors, 10231692 bad hop count

0 unknown protocol, 9310320 not a gateway

0 security failures, 10231 bad options, 2640539 with options

Opts: 2640493 end, 206 nop, 0 basic security, 2640523 loose source route

0 timestamp, 0 extended security, 16 record route

0 stream ID, 0 strict source route, 10231 alert, 0 cipso, 0 ump

0 other

Frags: 16 reassembled, 0 timeouts, 0 couldn't reassemble

32 fragmented, 0 couldn't fragment

Bcast: 308 received, 0 sent

Mcast: 4221007 received, 4048770 sent

Sent: 25342014 generated, 20710669 forwarded

Drop: 617267 encapsulation failed, 0 unresolved, 0 no adjacency

0 no route, 0 unicast RPF, 0 forced drop

0 options denied, 0 source IP address zero

!--- Output suppressed.

show processes cpu コマンドは、スイッチ内のアクティブなプロセス、およびそれに対応する CPU 使用率の統計情報を表示します。 CPU 使用率が平常な場合の show processes cpu コマンドの出力例を次に示します。

switch#show processes cpu

CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5%

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

1      384       32789     11  0.00%  0.00%   0.00%   0    Load Meter

2     2752        1179   2334  0.73%  1.06%   0.29%   0    Exec

3   318592        5273  60419  0.00%  0.15%   0.17%   0    Check heaps

4        4           1   4000  0.00%  0.00%   0.00%   0    Pool Manager

5     6472        6568    985  0.00%  0.00%   0.00%   0    ARP Input

6    10892        9461   1151  0.00%  0.00%   0.00%   0    IGMPSN

!--- CPU utilization at normal condition.

7    67388       53244   1265  0.16%  0.04%   0.02%   0    CDP Protocol

8   145520      166455    874  0.40%  0.29%   0.29%   0    IP Background

9     3356        1568   2140  0.08%  0.00%   0.00%   0    BOOTP Server

10       32        5469      5  0.00%  0.00%   0.00%   0    Net Background

11    42256      163623    258  0.16%  0.02%   0.00%   0    Per-Second Jobs

12   189936      163623   1160  0.00%  0.04%   0.05%   0    Net Periodic

13     3248        6351    511  0.00%  0.00%   0.00%   0    Net Input

14      168       32790      5  0.00%  0.00%   0.00%   0    Compute load avgs

15   152408        2731  55806  0.98%  0.12%   0.07%   0    Per-minute Jobs

16        0           1      0  0.00%  0.00%   0.00%   0    HRPC hI2mm reque

!--- Output suppressed.

IGMP スヌーピング プロセスにより CPU 使用率が高くなっている場合の show processes cpu コマンドの出力例を次に示します。

switch#show processes cpu

CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5%

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

1        384       32789     11  0.00%  0.00%   0.00%   0    Load Meter

2       2752        1179   2334  0.73%  1.06%   0.29%   0    Exec

3     318592        5273  60419  0.00%  0.15%   0.17%   0    Check heaps

4          4           1   4000  0.00%  0.00%   0.00%   0    Pool Manager

5       6472        6568    985  0.00%  0.00%   0.00%   0    ARP Input

6      10892        9461   1151    100    100     100   0    IGMPSN

!--- Due to high CPU utilization.

7      67388       53244   1265  0.16%  0.04%   0.02%   0    CDP Protocol

8     145520      166455    874  0.40%  0.29%   0.29%   0    IP Background

9       3356        1568   2140  0.08%  0.00%   0.00%   0    BOOTP Server

10         32        5469      5  0.00%  0.00%   0.00%   0    Net Background

11      42256      163623    258  0.16%  0.02%   0.00%   0    Per-Second Jobs

12     189936      163623   1160  0.00%  0.04%   0.05%   0    Net Periodic

13       3248        6351    511  0.00%  0.00%   0.00%   0    Net Input

14        168       32790      5  0.00%  0.00%   0.00%   0    Compute load avgs

15     152408        2731  55806  0.98%  0.12%   0.07%   0    Per-minute Jobs

16          0        2874      0    100    100     100   0    HRPC hI2mm reque

!--- Output suppressed.

GRE トンネルによる高 CPU 使用率

General Routing Encapsulation（GRE; 総称ルーティング カプセル化）トンネルは、Cisco Catalyst 3750 シリーズ スイッチではサポートされていません。 CLI ではこの機能を設定できますが、パケットはハードウェアでもソフトウェアでもスイッチングできず、CPU の使用率が上昇します。

注: Catalyst 3750 では、マルチキャスト ルーティング用の Distance Vector Multicast Routing Protocol（DVMRP）トンネル インターフェイスだけがサポートされています。 それでも、ハードウェアでのパケットのスイッチングはできません。 このトンネルでルーティングされるパケットは、ソフトウェアでスイッチングする必要があります。 このトンネルで大量のパケットが転送されると、CPU 使用率が上昇します。

この問題の回避策はありません。 これは、Catalyst 3750 シリーズ スイッチでのハードウェアの制限です。

設定変更による高 CPU 使用率

複数の Catalyst 3750 スイッチがスタック内で接続されている場合に、1 台のスイッチに設定変更があると、hulc running config プロセスが起動して、実行コンフィギュレーションの新規コピーを作成します。 次に、スタック内のすべてのスイッチに送信します。 新規の実行コンフィギュレーションは、CPU の負荷が高くなります。 したがって、新規の実行コンフィギュレーション プロセスを構築する際、および、この新規コンフィギュレーションを他のスイッチに転送する際に、CPU 使用率が高くなります。 ところが、この CPU 高使用率が持続するのは、show running-configuration コマンドのコンフィギュレーション ビルド ステップの実行に要する時間数と同じである必要があります。

この問題の回避策は不要です。 通常、これらの状況では CPU 使用率は高くなります。

hulc runningg プロセスにより CPU 使用率が高くなっている場合の show processes cpu コマンドの出力例を次に示します。

switch#show processes cpu

CPU utilization for five seconds: 63%/0%; one minute: 27%; five minutes: 23%

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

1      384      32789      11  0.00%  0.00%   0.00%   0    Load Meter

2     2752       1179    2334  0.73%  1.06%   0.29%   0    Exec

3   318592       5273   60419  0.00%  0.15%   0.17%   0    Check heaps

4        4          1    4000  0.00%  0.00%   0.00%   0    Pool Manager

5     6472       6568     985  0.00%  0.00%   0.00%   0    ARP Input

6    10892       9461    1151  0.00%  0.00%   0.00%   0    IGMPSN

7    67388      53244    1265  0.16%  0.04%   0.02%   0    CDP Protocol

8   145520     166455     874  0.40%  0.29%   0.29%   0    IP Background

9     3356       1568    2140  0.08%  0.00%   0.00%   0    BOOTP Server

10       32       5469       5  0.00%  0.00%   0.00%   0    Net Background

11    42256     163623     258  0.16%  0.02%   0.00%   0    Per-Second Jobs

12   189936     163623    1160  0.00%  0.04%   0.05%   0    Net Periodic

13     3248       6351     511  0.00%  0.00%   0.00%   0    Net Input

14      168      32790       5  0.00%  0.00%   0.00%   0    Compute load avgs

15   152408       2731   55806  0.98%  0.12%   0.07%   0    Per-minute Jobs

16        0          1       0  0.00%  0.00%   0.00%   0    HRPC h12mm reque

17    85964        426  201793 55.72% 12.05%   5.36%   0    hulc running

!--- Output suppressed.

過度の ARP 要求による高 CPU 使用率

過度に多数の ARP 要求をルータから発信する必要がある場合には、Address Resolution Protocol（ARP）入力プロセスで CPU 使用率が高くなります。 同じ IP アドレスに対する ARP 要求は、2 秒ごとに 1 つの要求までにレート制限されています。 したがって、過度に多数の ARP 要求が発信されるのは、異なる IP アドレスに対してです。 この現象は、ブロードキャスト インターフェイスをポイントするように IP ルートを設定した場合に発生する可能性があります。 明白な例として、次のようなデフォルト ルートが挙げられます。

ip route 0.0.0.0 0.0.0.0 Fastethernet0/0

この場合、より具体的なルートで到達できない各 IP アドレスに対する ARP 要求がルータで生成されます。つまり、インターネット上のほとんどすべてのアドレスに対する ARP 要求がルータで生成されることになります。 スタティック ルーティング用のネクストホップ IP アドレスの設定方法の詳細は、『スタティック ルートのためのネクスト ホップ IP アドレス指定』を参照してください。

別の可能性としては、ローカルに接続されたサブネットをスキャンする悪意のあるトラフィック ストリームが、過度に多数の ARP 要求を発生させる場合があります。 悪意のあるストリームの兆候は、非常に多数の不完全な ARP エントリが ARP テーブルにあることです。 ARP 要求を引き起こす着信 IP パケットには処理が必要なので、この問題のトラブルシューティングは、基本的に IP Input プロセスで CPU 使用率が高くなる場合のトラブルシューティングと同じです。

IP SNMP 処理による高 CPU 使用率

Catalyst 3750 用 Cisco IOS の最新バージョンでは、Simple Network Management Protocol（SNMP; 簡易ネットワーク管理プロトコル）要求は SNMP ENGINE によって処理されます。 この SNMP ENGINE プロセスによって CPU 使用率が高くなるのは正常です。 SNMP プロセスの優先順位は低く、スイッチの他の機能に影響を与えることはないはずです。

SNMP ENGINE プロセスによって発生する CPU の高使用率の詳細は、『IP の簡易ネットワーク管理プロトコル（SNMP）によって生じる CPU の高使用率』を参照してください。

SDM テンプレートによる高 CPU 使用率

Catalyst 3750 シリーズ スイッチの Switch Database Management（SDM; スイッチ データベース管理）は、Ternary Content Addressable Memory（TCAM; 三値連想メモリ）に保持されるレイヤ 2 およびレイヤ 3 のスイッチング情報を管理します。 SDM テンプレートは、特定の機能のサポートを最適化することを目的として、スイッチ内のシステム リソースを設定するために使用されます。これは、ネットワークでのスイッチの使用方法に依存します。 SDM テンプレートを選択して一部の機能に対するシステムの使用率を最大にすることも、デフォルトのテンプレートを使用してリソースのバランスを取ることもできます。 テンプレートは、次の種類のリソースのサポートを最適化するために、システム リソースに優先順位を設定します。

- ルーティング：ルーティング テンプレートは、ユニキャスト ルーティング用のシステム リソースを最大にします。通常は、ネットワークの中心にあるルータまたはアグリゲータに必要です。

- VLAN：VLAN テンプレートは、ルーティングを無効にして、最大数のユニキャスト MAC アドレスをサポートします。 通常は、レイヤ 2 スイッチに対して選択されます。

- アクセス：アクセス テンプレートは、Access Control List（ACL; アクセス コントロール リスト）用のシステム リソースを最大限にして、多数の ACL に対応します。

- デフォルト：デフォルト テンプレートは、すべての機能のバランスを取ります。

各テンプレートには、 デスクトップ テンプレートとアグリゲータ テンプレートの 2 つのバージョンがあります。

注: デスクトップ スイッチのデフォルト テンプレートは、デフォルト デスクトップ テンプレートです。 Catalyst 3750-12S 用のデフォルト テンプレートは、デフォルト アグリゲータ テンプレートです。

使用されている機能のシステム使用率を最大にする適切な SDM テンプレートを選択します。 不適切な SDM テンプレートを選択すると CPU が過負荷になり、スイッチのパフォーマンスが大きく低下する可能性があります。

TCAM の現在の使用率と利用可能量を確認するには、show platform tcam utilization コマンドを発行します。

Switch#show platform tcam utilization

CAM Utilization for ASIC# 0                      Max            Used

Masks/Values    Masks/values

Unicast mac addresses:                        784/6272         12/26

IPv4 IGMP groups + multicast routes:          144/1152          6/26

IPv4 unicast directly-connected routes:       784/6272         12/26

IPv4 unicast indirectly-connected routes:     272/2176          8/44

IPv4 policy based routing aces:                 0/0             0/0

IPv4 qos aces:                                528/528          18/18

IPv4 security aces:                          1024/1024         27/27

Note: Allocation of TCAM entries per feature uses

a complex algorithm. The above information is meant

to provide an abstract view of the current TCAM utilization

TCAM の使用率がいずれかのパラメータの最大値に近づいている場合は、他のいずれかのテンプレート機能でそのパラメータに対しての最適化ができないかチェックします。

show sdm prefer access | default | dual-ipv4-and-ipv6 | routing | vlan

Switch# show sdm prefer routing

"desktop routing" template:

The selected template optimizes the resources in

the switch to support this level of features for

8 routed interfaces and 1024 VLANs.

number of unicast mac addresses:             3K

number of igmp groups + multicast routes:    1K

number of unicast routes:                    11K

number of directly connected hosts:        3K

number of indirect routes:                 8K

number of policy based routing aces:         512

number of qos aces:                          512

number of security aces:                     1K

スイッチで使用する SDM テンプレートを指定するには、sdm prefer グローバル設定コマンドを発行します。

注: 新しい SDM テンプレートを使用するには、スイッチのリロードが必要です。

ポリシー ベース ルーティングによる高 CPU 使用率

Cisco Catalyst 3750 スイッチでの Policy Based Routing（PBR; ポリシー ベース ルーティング）の実装には、いくつかの制限があります。 これらの制限に従わないと、CPU の使用率が高くなる場合があります。

- PBR は、ルーティングされるポートまたは SVI で有効にできます。

- スイッチは、PBR に対する route-map deny 文をサポートしません。

- マルチキャスト トラフィックは、ポリシー ルーティングされません。 PBR はユニキャスト トラフィックにのみ適用されます。

- ローカル アドレス宛のパケットを許可する ACL と照合しないでください。 PBR はこれらのパケットを転送するため、ping や Telnet の障害またはルート プロトコル フラッピングが発生する可能性があります。

- ACL と deny ACE を照合しないでください。 deny ACE と一致するパケットは CPU に送信されるため、CPU の使用率が高くなる可能性があります。

- PBR を使用するには、最初に、sdm prefer routing グローバル設定コマンドを使用してルーティング テンプレートを有効にする必要があります。 PBR は、VLAN またはデフォルト テンプレートではサポートされません。

詳細なリストについては、『PBR 設定ガイドライン』を参照してください。

過度の ICMP リダイレクトによる高 CPU 使用率

送信元 IP が 1 つのサブネット上にあり、宛先 IP が別のサブネット上にあり、ネクストホップが同一の VLAN またはレイヤ 3 セグメント上にあるパケットを、1 つの VLAN（または任意のレイヤ 3 ポート）が受信したときには、ICMP が廃棄したリダイレクトを取得できます。

次に例を示します。

次のメッセージが show log に示されます。

51w2d: ICMP-Q:Dropped redirect disabled on L3 IF: Local Port Fwding

L3If:Vlan7 L2If:GigabitEthernet2/0/13 DI:0xB4, LT:7, Vlan:7

SrcGPN:65, SrcGID:65, ACLLogIdx:0x0, MacDA:001a.a279.61c1,

MacSA: 0002.5547.3bf0  IP_SA:64.253.128.3 IP_DA:208.118.132.9 IP_Proto:47

TPFFD:EDC10041_02C602C6_00B0056A-000000B4_EBF6001B_0D8A3746

これは、パケットが送信元 IP 64.253.128.3 の VLAN 7 で受信され、宛先 IP 208.118.132.9 に到達しようとしているところで発生します。 スイッチで設定されているネクストホップ（この場合、64.253.128.41）も同一の VLAN 7 上にあります。

関連情報

- EtherChannel の不一致検出について

- Catalyst スイッチで同一 VLAN 内でのマルチキャストが機能しない

- 「CPU Utilization on Catalyst 4500/4000, 2948G, 2980G, and 4912G Switches That Run CatOS Software（Catalyst 4500/4000、2948G、2980G、および 4912G スイッチでの CPU 使用率の理解）」

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

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

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

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