内容

概要

前提条件

要件

使用するコンポーネント

表記法

背景説明

トラブルシュート

起動プロセスの CPUHOG

OIR 時の CPUHOG

フラッシュ デバイスにアクセスしようとするときの CPUHOG

「CEF LC バックグラウンド」処理による CPUHOG

通常のルータ処理時の CPUHOG

TAC のサービスリクエストをオープンする場合に収集すべき情報

関連情報

概要

このドキュメントでは、%SYS-3-CPUHOG エラー メッセージの原因と、そのトラブルシューティング方法について説明しています。

前提条件

要件

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

使用するコンポーネント

このドキュメントの内容は、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

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

表記法

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

背景説明

暴走するプロセスの影響を減らすために、Cisco IOS® ソフトウェアでは、現在アクティブなプロセスについてスケジューラが定期的にポーリングできるプロセス ウォッチドッグ タイマーを使用しています。この機能は、プリエンプションと同じではありません。むしろ、これはフェールセーフ メカニズムであり、このメカニズムによって、プロセスが CPU をすべて消費してシステムが応答しなくなったり、すっかりロックされてしまうことがなくなります。

プロセスがハングしたように見える場合（長時間実行を続行するなど）、スケジューラはプロセスを強制的に停止できます。

スケジューラは、CPU でのプロセスの実行を許可するたびに、そのプロセスのウォッチドッグ タイマーを開始します。プリセット期間が経過した後でもプロセスが実行を継続している場合、ウォッチドッグ プロセスは割り込みを生成し、ルータは「ソフトウェア強制クラッシュ」によって再起動します（スタック トレースを確認すると、ウォッチドッグ プロセスがクラッシュを引き起こすことがわかります）。

ウォッチドッグが初めて期限切れになると、スケジューラは次のような警告メッセージを表示します。

%SYS-3-CPUHOG: Task ran for 2148 msec (20/13), Process = IP Input, PC = 3199482

-Traceback= 314B5E6 319948A

このメッセージは、あるプロセスが CPU を停滞させていることを示します。ここで、そのプロセスとは「IP Input」プロセスです。このメッセージは、通常は、ルータが起動するときの Online Insertion and Removal（OIR; ホットスワップ）や大量のトラフィックがある状態などの一時的な状況下で表示されます。「%SYS-3-CPUHOG」メッセージは、ルータの通常の動作中には表示されません。

あるプロセスの実行がスケジュールされた後にルータが割り込みレベルでビジーである場合、プロセスが実行した期間のアカウンティングは不正確になる可能性があります。これは、CPUHOG がプロセス レベルのタスクだけを追跡しているためです。割り込みを許可され、CPU の制御を取得する割り込みレベルのタスクは追跡しません。

割り込みレベルで動作する代表的なプロセスは、パケット交換です。

トラブルシュート

このセクションでは、さまざまなシナリオで CPUHOG メッセージをトラブルシューティングできる方法について説明します。

起動プロセスの CPUHOG

ブート シーケンスのときの CPUHOG メッセージは、一般的に共通しています。エラー メッセージ自体は、システムが起動プロセスに対して保持させようとしているよりも少しだけ長く起動プロセスが CPU を保持してから、それをユーザに通知するためにコンソール出力にメッセージを送信したことを意味しています。この場合のプロセスは「Boot Load」であり、これが CPUHOG が発生した場所を示しています。

System Bootstrap, Version 11.1(12)XA, EARLY DEPLOYMENT RELEASE SOFTWARE

(fc1)

Copyright (c) 1997 by cisco Systems, Inc.

C1600 processor with 16384 Kbytes of main memory

program load complete, entry point: 0x4018060, size: 0x108968

%SYS-3-CPUHOG: Task ran for 2040 msec (6/6), Process = Boot Load, PC =40B513A

-Traceback= 407EB6E 407F628 407D118 40180E0 40005B0 4015C3E 40152B2 4014ED4

40025B8 4003086 4015636 40021A8 400C616program load complete, entry point:

0x2005000, size: 0x4195b9

Self decompressing the image :

############################################################################

############################################################################

################################################################## [OK]

このエラー メッセージは問題なく無視することができます。起動プロセスのときに、ブート ローダーは 2 ～ 4 秒 CPU を使用して、それを解放しません。これは、CPU がその時点でのブート ローダーを実行する必要があるだけなので、起動時の問題ではありません。最新のブート ROM はその特定のメッセージの表示を抑制します。

また、Cisco 1600 シリーズ ルータを使用するときなど、ルータが大きなイメージをロードするときにはいつでも、ブート ヘルパー イメージから CPUHOG メッセージを検出することもできます。これらのルータは、16 MB よりも多くの DRAM で設定されます。

このメッセージは、イメージがロードされていて、システムやロードしているプロセスの処理に対して何の影響もない場合に発生します。どのような場合でも、システムの正常な処理には何の影響もないので、これは表面的な問題です。

OIR 時の CPUHOG

CPUHOG メッセージは OIR 時には一般的であり、これは、ルータが複雑で比較的長い一連のタスクを実行する必要があるためです。OIR 中に発生する CPUHOG メッセージについては、挿入されたカードが適切に排出される限りは、心配する必要はありません。

フラッシュ デバイスにアクセスしようとするときの CPUHOG

CPUHOG メッセージは、フラッシュ デバイス（フラッシュ カード、フラッシュの Single Inline Memory Module（SIMM; シングル インライン メモリ モジュール）など）にアクセスしようとして、デバイスに障害があったり、応答しないときに表示されることがあります。この問題が繰り返し発生する場合は、TAC 担当者にお問い合わせください。

注：統合Cisco IOSソフトウェア（ネイティブモード）またはハイブリッドモードを実行するCatalyst 6500があり、MSFC(RP)ブートフラッシュをフォーマットするときにCPUHOGメッセージが表示される場合は、Cisco Bug ID CSCdw53175(登録) 登録ユーザ専用)。これは、Cisco IOSソフトウェアリリース12.1.11b、12.1(12c)E5、または12.1(13)E以降のバージョンで解決されています。

「CEF LC バックグラウンド」処理による CPUHOG

Cisco 12000 シリーズ インターネット ルータでは、Forwarding Information Base（FIB; 転送情報ベース）がパケット スイッチングでの使用のために各ラインカードで保持されます。FIB ツリーの構造のため、短いサブネット マスクのルーティング変更（/1 と /4 の間）は、コンソール ログで次のようなメッセージを引き起こす可能性があります。

SLOT 1: %SYS-3-CPUHOG: Task ran for 4024 msec (690/0),

process = CEF IPC Background, PC = 400B8908.

-Traceback= 400B8910 408FF588 408FF6F4 408FFE8C 400A404C 400A4038

Cisco IOS ソフトウェアのプロセスが 2000 ミリ秒（2 秒）よりも長く動作するときに、CPUHOG メッセージが表示されます。非常に短いサブネット マスク用の Cisco Express Forwarding（CEF; Cisco エクスプレス フォワーディング）アップデートの場合、必要な処理の量は 2000 ミリ秒より長くなる可能性があり、これはこれらのメッセージを引き起こす可能性があります。「CEF IPC バックグラウンド」プロセスは、転送ツリーに対するプレフィックスの追加と削除を制御する親プロセスです。

さらに、CPU が延長された期間にロックされる場合、ラインカードはファブリック ping の障害のためにクラッシュする可能性があり、また、失われた IPC 通信タイムアウトのためにその FIB がディセーブルになる可能性があります。これらの問題のトラブルシューティングが必要な場合は、『Cisco 12000 シリーズ インターネット ルータにおけるファブリック Ping のタイムアウトおよび障害のトラブルシューティング』を参照してください。

一般に、/7 よりも短いマスクのルーティング アップデートは、不正や悪意がある可能性があります。そのようなアップデートの処理や伝搬を防ぐために、適切なルート フィルタリングをすべてのユーザが設定することを推奨します。ルーティング フィルタの設定で支援が必要な場合は、テクニカル サポート担当者に連絡してください。

CPUHOG メッセージは、Border Gateway Protocol（BGP; ボーダー ゲートウェイ プロトコル）またはルーティング テーブルをクリアするときに「CEF IPC バックグラウンド」プロセスのために引き起こされる可能性もあります。

通常のルータ処理時の CPUHOG

ほとんどの時間、これらのエラー メッセージは、Cisco IOS ソフトウェア内の内部ソフトウェア バグが原因です。

この種のエラー メッセージのトラブルシューティングを行う最初の手順は、既知の不具合を探すことです。エラーに一致するバグを検索するには、 をクリックし、[Search for Cisco IOS-related bugs] を選択します。検索を絞り込むには、Cisco IOSソフトウェアのバージョンを番号1の下で選択します。番号3の下で、「CPUHOG, <process>」のキーワード検索を実行できまBug Toolkit（登録ユーザ専用）を使用できます。「Bug Toolkit」ページで、[Launch Bug Toolkit]す。ここでは、Virtual ExecやIP Inputなどです。

すべての修正された CPUHOG バグを排除するために、リリース トレインで最新の Cisco IOS ソフトウェア イメージにアップグレードすることもできます。

TAC のサービスリクエストをオープンする場合に収集すべき情報

上記のトラブルシューティング手順を実行しても、なおサポートが必要で、Cisco TAC でサービス リクエストをオープンする（登録ユーザ専用）場合には、必ず次の情報を提供してください。

- サービス リクエストをオープンする前に実施したトラブルシューティング

- show technical-support の出力（可能な場合はイネーブル モードで）

- show log の出力またはコンソールのキャプチャ（可能な場合）

- ラインカード クラッシュが発生したスロットの execute-on slot [slot #] show tech

- crashinfo ファイル（ファイルが利用でき、show technical-support の出力に含まれていない場合）

収集したデータは、圧縮しないプレーン テキスト形式（.txt）でサービス リクエストに添付してください。 情報をサービス リクエストに添付するには、TAC Service Request Tool（登録ユーザ専用）を使用してアップロードします。 Service Request Tool にアクセスできない場合は、attach@cisco.com への電子メールに情報を添付して送信できます。この場合は、メッセージの件名（Subject）行にサービス リクエスト番号を記入してください。
注：問題の根本原因を特定するために必要な重要な情報が失われる可能性があるため、Cisco 12000シリーズインターネットルータでラインカードのクラッシュをトラブルシューティングする必要がない限り、上記の情報を収集する前に手動でリロードまたは電源のオフ/オン

関連情報

- Cisco ルータ製品に関するサポート ページ

- ルータの問題のトラブルシューティング

- テクニカルサポート - Cisco Systems