この文書では、Cisco IOS(R) ソフトウェアのスケジューラ関連のエラー メッセージと、そのトラブルシューティング方法について説明しています。 これらのメッセージは特定のプラットフォームに関連するものではありません。 Cisco IOS ソフトウェアをサポートしているどのプラットフォームでも表示される可能性があります。
このドキュメントで取り上げるメッセージは次のものです。
出会えば「SCHED に…」 このページで説明されないエラーメッセージはこのページの上で、Cisco を知らせるために feedback 形式を使用します。
このドキュメントに関しては個別の要件はありません。
このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
Cisco IOS ソフトウェア スケジューラは Cisco IOS ソフトウェア カーネルの一部で、各プロセスの状態を表す一連のプロセス キューを使用して、システム内のすべてのプロセスを管理します。 それぞれのキューは、その状態にあるプロセスのコンテキスト情報を保持しています。 プロセスの状態が移行するのは、スケジューラによってプロセスのコンテキストがあるプロセス キューから別のプロセス キューに移されたときです。 プロセス キューには次のようなものがあります。
アイドル状態のキュー—動作する前にまだアクティブであるが、イベントの待機が含まれています発生するプロセス。
Dead キュー:すでに終了しているものの、リソースが解放されていないため、システムから完全に削除できないプロセスが入っています。
Ready キュー:実行可能なプロセスが入っています。 Ready キューは、各プロセスの優先順位に応じて 4 種類あります。 実行中のプロセスが中断すると、スケジューラは CPU から制御を取り戻し、アルゴリズムを使用してこの 4 種類のキューの 1 つから次のプロセスを選択します。
ルータで各種のイベントが発生したときにプロセスに通知を渡すため、プロセスをイベントに登録することができます。 このメッセージは、プロセスが 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 簡易ネットワーク管理プロトコル(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 を提出してください。
このメッセージは、指定されたプロセスが 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: 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 を設定していて、ルータの Command Line Interface(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(登録ユーザ専用)を参照してください。
最初にイベントのデータ構造を作成しないで、イベントを登録しようとすると、このメッセージが表示されます。 これは 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 のサポート担当者にお知らせください。
上記のトラブルシューティング手順を実行した後も、依然としてサポートが必要な場合は、シスコのテクニカル サポートでサービスリクエストをオープンする(登録ユーザ専用)ことができます。 必ず次の一覧に示されている情報を収集してください。 |
---|
注: 必要のない限り、この情報を収集する前に手動でルータをリロードしたり、ルータの電源のオフ/オンを行わないでください。 これにより、問題の根本的な原因を判断するために必要な重要情報が消えてしまう可能性があります。 |