In diesem Dokument werden die Ursachen einiger Fehlermeldungen im Zusammenhang mit dem Cisco IOS® Software Scheduler sowie die Behebung dieser Fehler erläutert. Diese Meldungen beziehen sich nicht auf eine bestimmte Plattform. Sie können auf jeder Plattform angezeigt werden, die Cisco IOS-Software unterstützt.
Diese Botschaften werden in diesem Dokument behandelt:
Wenn Sie auf einen "SCHED..." stoßen. Fehlermeldung, die nicht auf dieser Seite erklärt wird, verwenden Sie das Feedbackformular oben auf dieser Seite, um Cisco zu informieren.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Dieses Dokument ist nicht auf bestimmte Software- und Hardwareversionen beschränkt.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Der Cisco IOS Software Scheduler, der Teil des Cisco IOS Software Kernel ist, verwaltet alle Prozesse im System mithilfe einer Reihe von Prozesswarteschlangen, die die einzelnen Prozesszustände darstellen. Die Warteschlangen enthalten Kontextinformationen für Prozesse in diesem Zustand. Prozesse wechseln von einem Zustand in einen anderen, während der Scheduler seinen Kontext von einer Prozesswarteschlange in einen anderen verschiebt. Zu den Prozesswarteschlangen gehören:
Idle queue (Leerlaufwarteschlange): Enthält Prozesse, die noch aktiv sind, aber auf ein Ereignis warten, bevor es ausgeführt wird.
Dead Queue (Dead-Warteschlange): Enthält Prozesse, die beendet wurden, deren Ressourcen jedoch wieder beansprucht werden müssen, bevor sie vollständig aus dem System entfernt werden können.
Ready queues: Enthält Prozesse, die zur Ausführung berechtigt sind. Es gibt vier fertige Warteschlangen, eine für jede Prozesspriorität. Wenn ein ausgeführter Prozess ausgesetzt wird, behält der Scheduler die Kontrolle über die CPU und verwendet einen Algorithmus, um den nächsten Prozess aus einer seiner vier fertigen Warteschlangen auszuwählen.
Ein Prozess kann sich registrieren, um benachrichtigt zu werden, wenn verschiedene Ereignisse im Router auftreten. Diese spezifische Meldung wird immer dann angezeigt, wenn ein registrierter Zeitgeber abläuft und der Zeitgeberwert nach zweifacher Ausführung des Prozesses unverändert bleibt. Dies ist immer ein kosmetisches Softwareproblem.
Diese Meldungen auf der Konsole weisen auf ein solches Problem hin:
%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
Der Prozess, in dem diese Fehlermeldung auftritt, ist ein guter Indikator für die Eingrenzung der Ursache für diese Rückverfolgungs-Backacks. Diese Liste zeigt die häufigsten Gründe für das Auftreten dieser Meldungen:
IP Simple Network Management Protocol (SNMP)-Prozess - Diese Meldung kann während der SNMP WriteNet-Anforderung angezeigt werden:
%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.
Frühere Versionen der Cisco IOS-Software enthielten einige IP-SNMP-Polling-Probleme. Dieses Problem wird durch ein Upgrade auf die neueste Hauptversion der Cisco IOS Software, Version 12.0 oder 12.1, behoben. Hierbei handelt es sich um eine kosmetische Meldung, und es gibt keine unerwünschten Nebenwirkungen, die den Betrieb des Routers (oder den IP-SNMP-Prozess) beeinträchtigen könnten.
Virtual Integrated Network Service (VINES) Protocols Process - Diese Ablaufverfolgungs-Backacks können auf einem für VINES konfigurierten Router generiert werden:
%SCHED-3-STUCKMTMR: Sleep w/expired mgd timer 6100606C, time 0x222DF318 (00:00:00 ago). -Process= "VINES Protocols", ipl= 6, pid= 60
Die Meldung(en) erfolgt/treten zufällig auf und scheinen die VINES-Leistung nicht zu beeinflussen. Sie treten auf, wenn VINES die Verarbeitung eines abgelaufenen Zeitereignisses verpasst hat (wenn der Systemprozessor stark geladen ist). Das Ereignis wird schließlich verarbeitet, jedoch nicht, wenn es erstmals abläuft.
VINES verwendet Timer für die Verarbeitung und Verarbeitung von ARP-Diensten (VINES Address Resolution Protocol), IPC-Sitzungen (Inter Processor Communication) und Weiterleitung, Routingzeitung und einigen Serverdiensten.
Diese Meldungen wurden in den Hauptversionen 12.0S und 12.1 der Cisco IOS Software behoben.
Multi Protocol Label Switching (MPLS)-bezogener Prozess - Diese Trace-Backacks können auf einem für MPLS konfigurierten Router generiert werden:
%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
Die Analyse der Ereignisschleifen für die Steuerungsprozesse Tag Distribution Protocol (TDP), TDP Hello und Tag zeigt, dass die Schleifen einen bestimmten Prozess_wait_for_event aufrufen können, ohne alle abgelaufenen Timer zu verarbeiten. Die Schleifen werden fixiert, um sicherzustellen, dass alle abgelaufenen Timer verarbeitet werden, bevor sie unterbrochen werden. Dieses Problem wird in den neuesten Hauptversionen der Cisco IOS Software, Version 12.0S und 12.1, behoben.
Die Liste der Prozesse, bei denen diese Meldung auftreten kann, ist nicht vollständig. Es ist immer eine kosmetische Botschaft und rechtfertigt daher kein Cisco IOS Software-Upgrade. Vergewissern Sie sich, dass Sie die neueste Cisco IOS-Softwareversion in Ihrem Zug ausführen. Wenn die Meldung immer noch in der neuesten Cisco IOS-Softwareversion angezeigt wird, die für registrierte Benutzer unter Cisco.com verfügbar ist, wenden Sie sich an den technischen Support von Cisco, um ein Ticket zu erstellen. Geben Sie zu diesem Zeitpunkt ein vollständiges Anzeigeprotokoll mit den Fehlermeldungen und einen Anzeigetechniker des Routers oder Switches an, bei dem das Problem auftritt.
Diese Meldung bedeutet, dass der angegebene Prozess die Kontrolle 50 Mal hintereinander aufgegeben hat und noch ausstehende Ereignisse verarbeitet werden müssen.
Diese Meldungen auf der Konsole weisen auf ein solches Problem hin:
%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
Diese Thrash-Checks sollen ermitteln, ob ein Prozess seine Aufgabe aus irgendeinem Grund nicht erfüllt. Bei der Thrashing-Prüfung für überwachte Warteschlangen (d. h. die problematische Meldung, bei der es sich um Signalisierung handelt) wird die Anzahl der Elemente in der Warteschlange überprüft. Wenn diese Nummer für eine bestimmte Anzahl von Planungen gleich bleibt, wird die Nachricht ausgegeben.
Einige Warteschlangen sind längenbegrenzt. Wenn der Router sehr ausgelastet ist, bleiben die Warteschlangen also immer auf dem Höchstwert. Infolgedessen wird der Threadingcode im Scheduler verwirrt und denkt, dass diese Warteschlangen nicht behandelt wurden. Der Thrashing-Code hat festgestellt, dass der Prozess, der mit der Warteschlange umgehen sollte, seine Aufgabe nicht erledigt hat, und die Thrashing-Nachricht ausdruckt.
Der Scheduler wurde in einem späteren Cisco IOS-Softwarecode geändert. Um nachzuverfolgen, ob die Warteschlangen geändert wurden (sodass besser festgestellt werden kann, ob der Prozess blockiert oder nicht), notiert der Scheduler jetzt jedes Mal, wenn ein Element aus der Warteschlange entfernt wird, und druckt nur dann die Thrashing-Meldung, wenn für eine Weile nichts entfernt wird.
Meistens ist die Warteschlangen-Thrashing-Meldung kosmetisch.
Diese Meldungen werden nicht immer durch einen Softwarefehler verursacht. Sie können entweder als Reaktion auf eine sofortige oder dauerhafte Nachfrage auf dem Router bereitgestellt werden. Erhöhte oder persistente Nachrichten können darauf hinweisen, dass die Datenverkehrslast überprüft werden muss.
Hinweis: Diese Codeänderungen werden unter der Cisco Bug ID CSCdj68470 gemeldet (nur registrierte Kunden).
Diese Meldung wird immer dann angezeigt, wenn ein Prozess ein Ereignis empfängt, das er nicht behandeln kann. Beispiel:
%SCHED-3-UNEXPECTEDEVENT: Process received unknown event (maj 10, min 0). -Process= "IP SNMP", ipl= 0, pid= 23 -Traceback= 602842B8 6017CFB8 6017CFA4
Es gibt mehrere mögliche Ursachen für dieses Problem:
Die wahrscheinlichste Ursache dafür ist, dass ein Prozess einen anderen Prozess direkt aktiviert und größere und kleinere Ereignisnummern an den Prozess weiterleitet. Wenn der Sendevorgang den falschen Prozess auslöst, weiß der Empfangsvorgang nicht, wie die empfangenen Haupt- und Nebenereignisnummern behandelt werden sollen. Der Prozess kann die falsche Aktion ausführen, wenn er ein Ereignis mit übereinstimmenden Haupt- und Nebenereignisnummern erwartet, oder er kann diese Meldung drucken. Verwenden Sie die Ausgabe des Befehls show process, um herauszufinden, welche Prozesse möglicherweise eine direkte Wakeup an einen Prozess gesendet haben.
Eine weitere mögliche Ursache dieses Problems ist, dass ein Entwickler Code zur Registrierung für ein Ereignis hinzugefügt hat, den Code jedoch nicht für die Behandlung des Ereignisses hinzugefügt hat.
Eine vom Prozess aufgerufene Unterroutine hat sich möglicherweise für ein neues Ereignis registriert, hat die Registrierung jedoch nicht vor dem Beenden aufgehoben.
Diese Meldungen sind immer auf einen Softwarefehler zurückzuführen. Basierend auf dem Prozess, der nicht wusste, wie ein Ereignis behandelt wird, können Sie in der Cisco IOS-Software auf verschiedene Fehler stoßen.
Wenn der Prozess entweder mit Exec oder Virtual Exec übereinstimmt, treten am ehesten die folgenden Probleme auf:
%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
Diese Fehlermeldung wird durch Debugcode verursacht, der in einigen älteren Codeversionen versehentlich zurückgelassen wurde. Die Version wurde in der Hauptversion der Cisco IOS Software 12.0 wieder eingeführt. Die Fehlermeldung tritt wahrscheinlich auf, wenn TACACS konfiguriert ist und Sie den Befehl show line (show line) in der Befehlszeilenschnittstelle (CLI) des Routers ausführen. Die Fehlermeldung hat keine Auswirkungen auf die Funktionalität des Routers, daher kann dies als kosmetischer Fehler angesehen werden. Die einzige Möglichkeit, diese Fehlermeldung zu beseitigen, besteht darin, die Cisco IOS-Software auf eine spätere Version zu aktualisieren.
Sie müssen je nach Zug mindestens die Cisco IOS Software Releases 12.0(11), 12.0(11)S oder 12.1(2) ausführen. Wenn Sie jedoch mit einem anderen Fehler konfrontiert sind, sollten Sie ein Upgrade auf die neueste Cisco IOS-Software in Betracht ziehen, die für den entsprechenden Zug verfügbar ist. Wenn das Problem weiterhin in der neuesten Cisco IOS-Softwareversion vorhanden ist, können Sie sich an den technischen Support von Cisco wenden, um einen neuen Fehler zu öffnen. Sie haben jetzt die vollständige Ausgabe des Befehls show logging mit den Fehlermeldungen und der Ausgabe aus der show version fertig, um die tracebacks zu dekodieren.
Weitere Informationen zu diesem Problem finden Sie unter Cisco Bug ID CSCdp17107 (nur registrierte Kunden).
Diese Meldung wird immer dann angezeigt, wenn versucht wird, sich für ein Ereignis zu registrieren, ohne zuvor die Datenstruktur für dieses Ereignis zu erstellen. Dies ist ein interner Softwarefehler in der Cisco IOS Software. Die Ausgabe sieht in etwa wie folgt aus:
%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
Diese Fehlermeldung können Sie bei einer Online Insertion and Removal (OIR) (Online Insertion and Removal) (Online Insertion and Removal) (OIR) jeder Art von Karte erhalten. Beispielsweise können Sie auf einem Cisco Internet-Router der Serie 1200 diese Meldungen anzeigen, nachdem Sie eine Gigabit Route Processor (GRP)-Karte in einem Router der Serie GSR12016 ersetzt haben:
%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
Frühere Codeversionen enthalten einige Redundanzprobleme. Die meisten dieser Probleme wurden in der neuesten Cisco IOS Software, Version 12.0S, behoben. Stellen Sie sicher, dass Sie eine Cisco IOS-Softwareversion ausführen, die später oder mindestens der Version 12.0(18)S1 und 12.0(17)S2 der Cisco IOS-Software entspricht. Ein Kaltstart des Routers sollte dieses Problem höchstwahrscheinlich beheben, wenn ein Wiedereinsetzen der fehlerhaften Karte nicht funktioniert.
Die Meldungen ähneln dieser Ausgabe auf einem Router der Serie 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
Diese SCHED-Fehlermeldungen werden meistens durch einen internen Softwarefehler in der Cisco IOS-Software verursacht. Der erste Schritt bei der Fehlerbehebung besteht daher darin, nach einem bekannten Fehler zu suchen.
Durch ein Upgrade auf das neueste Cisco IOS Software-Image in Ihrem Release Train werden alle behobenen Fehler im Zusammenhang mit Cisco IOS Software Scheduler beseitigt.
Wenn das Problem weiterhin auftritt, wenden Sie sich an Ihren Cisco Support, und geben Sie eine genaue Kopie der Fehlermeldung zusammen mit der Ausgabe von show tech support und einem Befehl show log ein.
Wenn Sie nach den in diesem Dokument beschriebenen Schritten zur Fehlerbehebung weiterhin Hilfe benötigen, können Sie ein Ticket (nur registrierte Kunden) beim technischen Support von Cisco erstellen. Stellen Sie sicher, dass Sie die folgenden Informationen angeben: |
---|
Hinweis: Laden Sie den Router vor dem Erfassen dieser Informationen nicht manuell neu, oder schalten Sie ihn ein, es sei denn, dies ist erforderlich. Dies kann dazu führen, dass Sie wichtige Informationen verlieren, die Sie benötigen, um die Ursache des Problems zu ermitteln. |
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
24-Jun-2008 |
Erstveröffentlichung |