Cisco IOS と NX-OS ソフトウェア : Cisco IOS ソフトウェア リリース 12.1 メインライン

Cisco IOS ソフトウェアのスケジューラ関連エラーメッセージのトラブルシューティング

2005 年 10 月 18 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2008 年 6 月 24 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
背景説明
トラブルシューティング
      SCHED-3-STUCKMTMR
      SCHED-3-THRASHING
      SCHED-3-UNEXPECTEDEVENT
      SCHED-2-WATCH
TAC のサービスリクエストをオープンする場合に収集する情報
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、Cisco IOS(R) ソフトウェアのスケジューラ関連エラー メッセージの原因と、そのトラブルシューティング方法について説明しています。これらのメッセージは、特定のプラットフォームに関連するものではありません。Cisco IOS ソフトウェアをサポートしているどのプラットフォームでも表示される可能性があります。

このドキュメントで取り上げるメッセージは次のものです。

このページで説明されていない「SCHED...」というエラーメッセージが表示された場合は、このページのトップにあるフィードバックでシスコに連絡してください。

前提条件

要件

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

使用するコンポーネント

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

表記法

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

背景説明

Cisco IOS ソフトウェアのスケジューラは Cisco IOS ソフトウェア カーネルの一部で、各プロセスの状態を示す一連のプロセス キューを使用して、システム内のすべてのプロセスを管理します。それぞれのキューには、その状態にあるプロセスのコンテキスト情報が含まれます。スケジューラが、あるプロセス キューから別のプロセス キューにコンテキストを移行させると、プロセスもある状態から別の状態に移行します。プロセス キューには次のようなものがあります。

  • アイドル キュー:アクティブの状態ですが、イベントが発生するまで実行待ちの状態にあるプロセスが入っています。

  • デッド キュー:終了しているが、システムから完全に削除される前にリソースが再要求される必要のあるプロセスが入っています。

  • レディー キュー:実行可能なプロセスが入っています。レディー キューは、各プロセスの優先順位に応じて 4 種類あります。実行中のプロセスが一時中断されると、CPU の制御がスケジューラに戻され、スケジューラはアルゴリズムを使用してこの 4 種類のレディー キューの 1 つから次のプロセスを選択します。

トラブルシューティング

SCHED-3-STUCKMTMR

プロセスは、ルータで各種のイベントが起きたときに通知されるように登録できます。このメッセージは、プロセスが 2 回連続して実行された後に、登録されたタイマーが時間切れになり、タイマーの値が変更されない場合に表示されます。この問題は、ソフトウェアの表面的な問題です。

このような問題が発生すると、コンソール上に次のようなメッセージが表示されます。

%SCHED-3-STUCKMTMR: Sleep with expired managed timer 1C7410, 
 time 0x1063F9C52 (00:00:00 ago).
 -Process= "IP SNMP", ipl= 6, pid= 44
 -Traceback= 31BC79A 31BC9C0 323E130

エラー メッセージが発生したプロセスを、これらのトレースバックの原因の絞り込みに活用できます。次に、これらのメッセージが表示される、一般的な理由を示します。

  • IP Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)のプロセス:このメッセージは、SNMP WriteNet 要求時に表示される場合があります。

    %SCHED-3-STUCKMTMR: Sleep w/expired mgd timer 13AF58, 
     time 0xBDBE878A (00:00:03 ago).
     -Process= "IP SNMP", ipl= 6, pid= 29
     -Traceback= 313B218 313B5D2 3192A76 319EFEC 319F234 30FF17E 319F446 319F88E 30FEA70 
     3304C1E 33045F0 32F78E4 32F82AE 32F383E 32F7ABA 30FF19A
     %SYS-4-SNMP_WRITENET: SNMP WriteNet request. Writing current configuration to 
     146.61.55.230.
     %SYS-4-SNMP_WRITENET: SNMP WriteNet request. Writing current configuration to 
     146.61.10.20.

    Cisco IOS ソフトウェアの以前のリリースには、IP SNMP のポーリングに関連する問題がいくつかありました。最新版の Cisco IOS ソフトウェア リリース 12.0 または 12.1 のメイン リリースにアップグレードすることで、この問題は解決されます。これは、表面的なメッセージで、ルータの動作(または IP SNMP プロセス)に影響を及ぼす悪い副作用はありません。

  • Virtual Integrated Network Service(VINES)プロトコル プロセス:これらのトレースバックは、VINES 用に設定されたルータで生成される場合があります。

    %SCHED-3-STUCKMTMR: Sleep w/expired mgd timer 6100606C, time 0x222DF318 
     (00:00:00 ago).
     -Process= "VINES Protocols", ipl= 6, pid= 60

    メッセージの発生や数はランダムで、VINES のパフォーマンスに影響はありません。これらのメッセージが表示されるのは、(システムのプロセッサ負荷が重く)VINES で時間切れイベントの処理に失敗した場合です。最終的にイベントは処理されますが、最初の時間切れでは処理されません。

    VINES では、VINES Address Resolution Protocol(ARP; アドレス レゾリューション プロトコル)サービス、Inter Processor Communication(IPC; プロセッサ間通信)のセッションおよび再送信、ルート エイジング、および、ある種のサーバのサービスを処理する際にタイマーが使用されます。

    これらのメッセージは、Cisco IOS ソフトウェア リリース 12.0S および 12.1 のメインリリースで解決されています。

  • Multi Protocol Label Switching(MPLS; マルチプロトコル ラベル スイッチング)関連のプロセス:これらのトレースバックは、MPLS 用に設定されたルータで生成される場合があります。

    %SCHED-3-STUCKMTMR: Sleep w/expired mgd timer 60C0E9B4, time 0x3952 
     (00:00:00 ago).
     -Process= "TDP Hello", ipl= 5, pid= 58
     -Traceback= 600867F0 60086BB8 604390D4 60077E88 60077E74
     %SCHED-3-STUCKMTMR: Sleep w/expired mgd timer 60CC2548, time 0x43006 
     (00:00:00 ago).
     -Process= "Tag Control", ipl= 5, pid= 56
     -Traceback= 600867F0 60086BB8 60448320 604484F0 60077E88 60077E74

    ループのために、時間切れのタイマーをすべて処理しないままで特定の process_wait_for_event プロセスがコールされる場合があることが、Tag Distribution Protocol(TDP; タグ配布プロトコル)、TDP Hello、およびタグ制御プロセスでのイベント ループの分析により判明しています。中断の前に、時間切れになったタイマーがすべて確実に処理されるように、このループは修正されています。この問題は、最新の Cisco IOS ソフトウェア リリース 12.0S および 12.1 のメインリリースで解決されています。

このメッセージは、上記のプロセス以外でも出力される場合があります。いずれも表面的なメッセージなので、Cisco IOS ソフトウェアのアップグレードが必須というわけではありません。必ず、ご使用の Cisco IOS ソフトウェア リリース トレインの最新リリースを使用してください。登録ユーザ向けの Cisco.com で入手した最新版の Cisco IOS ソフトウェア リリースでもメッセージが表示される場合は、シスコ テクニカルサポートに連絡して、サービスリクエストをオープンしてください。この際に、エラー メッセージが記録された完全な show log と、問題が発生したルータやスイッチ show tech を提出してください。

SCHED-3-THRASHING

このメッセージは、表示されたプロセスが 50 回連続して制御を解放したにもかかわらず、未処理のイベントが残っていることを示しています。

このような問題が発生すると、コンソール上に次のようなメッセージが表示されます。

%SCHED-3-THRASHING: Process thrashing on watched queue 
 'ARP queue' (count 54).
 -Process= "ARP Input", ipl= 5, pid= 6
 -Traceback= 6020589C 60205BC4 60236520 601F4FD8 601F4FC4

これらのスラッシング チェックは、何らかの理由によってプロセスがそのジョブを実行しない状態になっているかかどうかを判断するために行われます。監視対象キューでのスラッシング チェック(シグナルを送っている問題のメッセージ)により、キューにあるエレメントの数が確認されます。一定回数のスケジューリングでこの数が一致している場合にメッセージが出力されます。

キューによっては、長さが制限されています。ルータがきわめてビジーになると、常にキューがいっぱいの状態になります。その結果、スケジューラのスラッシング コードが混乱し、これらのキューは処理されていないと判断します。スラッシング コードは、キューを処理するプロセスがジョブを実行していないと判断し、スラッシング メッセージを出力します。

その後の Cisco IOS ソフトウェア コードでは、スケジューラが修正されています。現在のスケジューラでは、キューが変更されているか追跡するために(プロセスがスラッシングしているかどうかをより正確に判断できます)、キューからアイテムが削除されると必ず記録し、一定時間何も削除されない場合にだけスラッシング メッセージを出力するようになっています。

多くの場合、キューのスラッシング メッセージは表面的なものです。

このメッセージが常にソフトウェアの不具合によって発生するわけではありません。ルータの瞬間的、または継続的な要求に対して発生する場合があります。メッセージの回数が増えたり、常に表示される場合は、トラフィックの負荷を見直す必要がある可能性があります。

注:これらのコードの変更は Cisco Bug ID CSCdj68470登録ユーザ専用)で報告されています。

SCHED-3-UNEXPECTEDEVENT

このメッセージは、プロセスが処理方法が不明なイベントを受け取ると表示されます。次に、例を示します。

%SCHED-3-UNEXPECTEDEVENT: Process received unknown event (maj 10, min 0).
 -Process= "IP SNMP", ipl= 0, pid= 23
 -Traceback= 602842B8 6017CFB8 6017CFA4

この問題にはいくつかの原因が考えられます。

  • 最も可能性の高い原因は、あるプロセスが別のプロセスを直接起動し、そのプロセスにメジャー イベント番号およびマイナー イベント番号を渡す場合です。送信元プロセスが、誤ったプロセスを起動すると、受信するプロセスは、そのメジャー イベント番号およびマイナー イベント番号の処理方法を判断できません。そのプロセスで、そのメジャー イベント番号とマイナー イベント番号に一致するイベントが設定されていた場合は、誤った動作が行われる可能性があり、そうでなければ、このメッセージが表示される可能性があります。show process コマンドの出力で、そのプロセスを直接起動している可能性のあるプロセスを判断してください。

  • 他に可能性のある原因は、開発担当者がイベントを登録するコードだけを追加し、そのイベントを処理するコードを追加しなかった場合です。

  • プロセスによってコールされたサブルーチンが新しいイベントに登録されたものの、終了前に登録が解除されていない場合もあります。

これらのメッセージは、常にソフトウェアの不具合によって発生します。どのプロセスでイベントの処理方法が不明になっているかによって、現れる Cisco IOS ソフトウェアの不具合も異なります。

プロセスが Exec または Virtual Exec である場合は、次の問題が発生する可能性が高くなります。

%SCHED-3-UNEXPECTEDEVENT: Process received unknown event (maj 80, min 0).
 -Process= "Exec", ipl= 0, pid= 20
 -Traceback= 604A0D68 6049B400 6049C974 601B2F5C 601B338C 601CC384 601CC9E0 601F5628 
 602383EC 602383D8
 or
 %SCHED-3-UNEXPECTEDEVENT: Process received unknown event (maj 80, min 0).
 -Process= "Virtual Exec", ipl= 0, pid= 2
 -Traceback= 60479FA0 60474638 60476474 601B0E20 601B0A38 601E5088 601E5B08 601F0A54 
 60231324 60231310

このエラー メッセージの原因は、誤って古いバージョンのコードのままになっているデバッグ コードです。Cisco IOS ソフトウェア 12.0 のメインライン リリースで、これが再度発生しています。このエラー メッセージがよく発生するのは、TACACS が構成されていて、ルータのコマンドライン インターフェイス(CLI)で show line コマンドを実行した場合です。このエラー メッセージは、ルータの機能に影響しないので、表面的な不具合と判断できます。このエラー メッセージは、Cisco IOS ソフトウェアを以降のリリースにアップグレードすることで解決し、他に解決法はありません。

使用しているリリース トレインに応じて、Cisco IOS ソフトウェア リリース 12.0(11)、12.0(11)S、または 12.1(2) 以降を稼動させる必要があります。これ以外の不具合が発生している場合は、対応するリリース トレインで使用可能な最新の Cisco IOS ソフトウェアにアップグレードすることを検討してください。最新版の Cisco IOS ソフトウェア リリースでも問題が発生する場合は、シスコ テクニカルサポートに連絡して、新しいサービスリクエストをオープンしてください。その際には、トレースバックをデコードするために、エラーメッセージが記録された show logging コマンドの完全な出力と、show version の出力を用意してください。

この問題の詳細については、Cisco Bug ID CSCdp17107登録ユーザ専用)を参照してください。

SCHED-2-WATCH

最初にイベントのデータ構造を作成しないで、イベントを登録しようとすると、このメッセージが表示されます。これは、Cisco IOS ソフトウェア内部の不具合です。出力は次のようになります。

%SCHED-2-WATCH: Attempt to enqueue uninitialized watched queue (address 0).
 -Process= "Net Input", ipl= 0, pid= 29
 -Traceback= 601B821C 60193428 604F59EC 604F6110 601C09F8 601934E0 6019304C 
   601A65E8 601A65D4

どのカードでも Online Insertion and Removal(OIR; 活性挿抜)時に、この種類のエラー メッセージが表示される場合があります。たとえば、Cisco 12000 シリーズ インターネット ルータでは、GSR12016 シリーズのルータで Gigabit Route Processor(GRP; ギガビット ルート プロセッサ)カードを交換すると、このようなメッセージが表示されます。

%SCHED-2-WATCH: Attempt to set uninitialized watched boolean (address 0).
 -Process= "LC Crash Complete Process", ipl= 0, pid= 29
 -Traceback= 60189CA8 60244E08 6017562C 60175618

古いバージョンのコードには、冗長性の問題がいくつかあります。これらの問題のほとんどは、最新の Cisco IOS ソフトウェア リリース 12.0S で解決されています。必ず、Cisco IOS ソフトウェア リリース 12.0(18)S1 および 12.0(17)S2 以降のソフトウェア リリースを使用してください。問題のあるカードを再挿入しても効果がない場合、ルータをコールド リロードすると問題が解決する可能性が高いです。

メッセージは、次に示す 7500 シリーズ ルータの出力と類似のものです。

%OIR-6-REMCARD: Card removed from slot 3, interfaces disabled
 %SCHED-2-WATCH: Attempt to set uninitialized watched Boolean (address 0).
 -Process= "OIR Handler", ipl= 0, pid= 7
 -Traceback= 60236120 60C64838 60280594 60280874 602211BC 602211A8

ほとんどの場合、このような SCHED エラー メッセージは Cisco IOS ソフトウェアでの内部ソフトウェアの不具合が原因です。そのため、この種のエラー メッセージのトラブルシューティングを行う際は、最初に既知の不具合を探します。

使用しているリリース トレインの最新の Cisco IOS ソフトウェア イメージにアップグレードすると、スケジューラ関連の修正済みの問題を一掃できます。

それでも問題が解決しない場合は、show tech-support および show log コマンドの出力と、エラー メッセージの正確なコピーを、Cisco のサポート担当者にお知らせください。

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

上記のトラブルシューティング手順を実行した後も、依然としてサポートが必要な場合は、シスコのテクニカル サポートでサービスリクエストをオープンする登録ユーザ専用)ことができます。必ず次の一覧に示されている情報を収集してください。

  • エラー メッセージが表示されたコンソールのキャプチャ

  • 実施したトラブルシューティング ステップと、各ステップを実施した際のブート シーケンスを示す、コンソールのキャプチャ

  • 障害があったハードウェア コンポーネントと、そのシャーシのシリアル番号

  • トラブルシューティングのログ

  • show technical-support コマンドからの出力

収集したデータは、圧縮しないプレーンなテキスト形式(.txt)でサービスリクエストに添付してください。情報をサービスリクエストに添付するには、TAC Service Request Tool登録ユーザ専用)を使用してアップロードします。TAC Service Request Tool にアクセスできない場合は、情報を E メールの添付ファイルとし、attach@cisco.com 宛てに送信してください。メッセージの件名の行にサービスリクエスト番号を記入することにより、サービスリクエストに関連情報を添付できます。

注:必要のない限り、この情報を収集する前に手動でルータをリロードしたり、ルータの電源のオフ/オンを行わないでください。これにより、問題の根本的な原因を判断するために必要な重要情報が消えてしまう可能性があります。


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 12422