このドキュメントでは、%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 メッセージは、一般的に共通しています。エラー メッセージ自体は、システムが起動プロセスに対して保持させようとしているよりも少しだけ長く起動プロセスが 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 で設定されます。
このメッセージは、イメージがロードされていて、システムやロードしているプロセスの処理に対して何の影響もない場合に発生します。どのような場合でも、システムの正常な処理には何の影響もないので、これは表面的な問題です。
CPUHOG メッセージは OIR 時には一般的であり、これは、ルータが複雑で比較的長い一連のタスクを実行する必要があるためです。OIR 中に発生する 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以降のバージョンでは解決されています。
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 バックグラウンド」プロセスのために引き起こされる可能性もあります。
ほとんどの時間、これらのエラー メッセージは、Cisco IOS ソフトウェア内の内部ソフトウェア バグが原因です。
この種のエラー メッセージのトラブルシューティングを行う最初の手順は、既知の不具合を探すことです。エラーに一致するバグを検索するには、Bug Toolkit(登録ユーザ専用)を使用できます。「Bug Toolkit」ページで、[Launch Bug Toolkit] をクリックし、[Search for Cisco IOS-related bugs] を選択します。検索を絞り込むために、番号 1 の下で Cisco IOS ソフトウェア バージョンを選択できます。番号 3 の下では、「CPUHOG, <process>」のキーワード検索を実行できます。ここで、process は Virtual Exec や IP Input などの対応するプロセスのことです。
すべての修正された CPUHOG バグを排除するために、リリース トレインで最新の Cisco IOS ソフトウェア イメージにアップグレードすることもできます。
上記のトラブルシューティング手順を実行しても、なおサポートが必要で、Cisco TAC でサービス リクエストをオープンする(登録ユーザ専用)場合には、必ず次の情報を提供してください。 |
---|
注:Cisco 12000シリーズインターネットルータでのラインカードクラッシュのトラブルシューティングに必要でない限り、上記の情報を収集する前にルータを手作業でリロードしたり、電源のオフ/オンを行わないようにしてください。これを行うと、問題の根本原因の判別に必要な、重要な情報が失われる可能性があります。 |
改定 | 発行日 | コメント |
---|---|---|
1.0 |
24-Jun-2008 |
初版 |