In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird erläutert, wie die hohe CPU-Auslastung in einem Router aufgrund des SNMP ENGINE-Prozesses, der auf dem Router ausgeführt wird, insbesondere bei Low-End-Routern, behoben werden kann.
Die Leser dieses Dokuments sollten folgende Themen kennen:
SNMP
Cisco IOS
Die Informationen in diesem Dokument basieren auf Routern mit Cisco IOS® Software.
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie in den Cisco Technical Tips Conventions.
Manchmal werden Meldungen wie diese in der Router-Konsole angezeigt:
%SNMP-3-CPUHOG: Processing [chars] of [chars]
Sie bedeuten, dass der SNMP-Agent auf dem Gerät zu viel Zeit benötigt hat, um eine Anfrage zu bearbeiten.
Sie können die Ursache einer hohen CPU-Verwendung in einem Router mithilfe des Befehls show process cpu ermitteln.
Das folgende Beispiel zeigt die Ausgabe des Befehls show process cpu.
cacuk#show process cpu CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0%
PID | Laufzeit(ms) | Angefordert | Sekunden | 5 Sek. | 1 Minute | 5 Minuten | TTY | Prozess |
---|---|---|---|---|---|---|---|---|
1 | 68 | 258816 | 0 | 0,00 % | 0,00 % | 0,00 % | 0 | Belastungsmessgerät |
2 | 0 | 1 | 0 | 0,00 % | 0,00 % | 0,00 % | 0 | OSPF Hello |
1 | 788132 | 131.480 | 5994 | 0,00 % | 0,00 % | 0,00 % | 0 | Header überprüfen |
4 | 0 | 1 | 0 | 0,00 % | 0,00 % | 0,00 % | 0 | Chunk-Manager |
5 | 56 | 131 | 427 | 0,00 % | 0,00 % | 0,00 % | 0 | Pool-Manager |
69 | 202.700 | 421730 | 480 | 0,00 % | 0,01 % | 0,00 % | 0 | IP-SNMP |
71 | 1193648 | 211250 | 5650 | 0,00 % | 0,19 % | 0,15 % | 0 | SNMP-MOTOR |
Der Befehl debug snmp überprüft, welche Objekt-IDs (OIDs) oder Management Information Base (MIBs) zum gegebenen Zeitpunkt abgefragt werden.
Hinweis: Das Ausführen eines Debuggens über ein Produktionsnetzwerk kann den Router überlasten.
Es gibt zwei mögliche Ursachen für eine hohe CPU-Auslastung im Zusammenhang mit dem Simple Network Management Protocol (SNMP):
Große Route- und/oder ARP-Tabellen, die von der NMS-Station abgefragt werden
Polling bestimmter MIBs
Die Netzwerkmanagementstation fragt Router für die gesamte Routing-Tabelle ab, um weitere Netzwerke kennenzulernen. Diese Informationen werden verwendet, um andere Router zu finden und sie über ihr Wissen über die Netzwerke um sie herum abzufragen. Auf diese Weise kann die Managementstation die Topologie des gesamten Netzwerks erlernen.
Der Router speichert die Routing-Tabelle in einem Hash-Format, das eine schnelle Routensuche erleichtert. Die SNMP-Antworten für die Route müssen jedoch in lexikografischer Reihenfolge gemäß RFC1213 zurückgegeben werden. Daher muss für jede SNMP-Anforderung, die der Router empfängt, die Hashtabelle lexikografisch sortiert werden, bevor eine SNMP-Antwort-PDU erstellt werden kann. Je größer die Routing-Tabelle, desto größer ist die CPU-Intensität der Sortierung.
SNMP ist für den CPU-Scheduler ein Prozess mit niedriger Priorität, sodass ein weiterer Prozess, der CPU-Ressourcen erfordert, Priorität hat. Daher sollten CPU-Spitzen in diesem Szenario nicht die Leistung beeinträchtigen.
Um Leistungsprobleme zu vermeiden, erzwingen Sie den Router, Abfragen für die Routing-Tabelle vom Netzwerkmanagement-Systemserver vorzeitig zu beenden. Konfigurieren Sie den Router so, dass er mit einer vollständigen Nachricht antwortet, sobald er den Beginn einer Anforderung für die Routing-Tabelle empfängt:
snmp-server view cutdown iso included !--- ISO is used as a starting point as it is the snmp 'root'. snmp-server view cutdown 1.3.6.1.2.1.4.21 excluded snmp-server view cutdown 1.3.6.1.2.1.4.22 excluded snmp-server view cutdown 1.3.6.1.2.1.3 excluded snmp-server view cutdown 1.3.6.1.6.3.15 excluded !--- The additional object snmpUsmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.16 excluded !--- The additional object snmpVacmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.18 excluded !--- The additional object snmpCommunityMIB is excluded. snmp-server community public view cutdown RO snmp-server community private view cutdown RW
Vorsicht: Im obigen Beispiel ist snmpUsmMIB ausgeschlossen, snmpVacmMIB ist ausgeschlossen, und snmpCommunityMIB ist ausgeschlossen. Zusammen können diese Objekte verwendet werden, um Informationen über konfigurierte Benutzer und Community-Strings abzurufen, um Administratorzugriff auf das Gerät zu erhalten. Es wird empfohlen, diese Objekte auf allen Geräten, auf die öffentliche Benutzer zugreifen können, von der Ansicht auszuschließen.
Diese Konfiguration blockiert Anforderungen zum Abrufen der Routing-Tabelle (ipRouteTable) und der ARP-Tabelle (Address Resolution Protocol) (ipNetToMediaTable), lässt jedoch alle anderen Anforderungen durch. Wenn Sie eine ältere Version der Cisco IOS®-Software haben, wird das MIB-Objekt ipRouteTable nicht erkannt. Verwenden Sie daher stattdessen die folgende Konfiguration:
snmp-server view cutdown iso included !--- ISO is used as a starting point as it is the snmp 'root'. snmp-server view cutdown 1.3.6.1.2.1.4.21 excluded snmp-server view cutdown 1.3.6.1.2.1.4.22 excluded snmp-server view cutdown at excluded snmp-server view cutdown 1.3.6.1.6.3.15 excluded !--- The additional object snmpUsmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.16 excluded !--- The additional object snmpVacmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.18 excluded !--- The additional object snmpCommunityMIB is excluded. snmp-server community public view cutdown RO snmp-server community private view cutdown RW
Vorsicht: Im obigen Beispiel ist snmpUsmMIB ausgeschlossen, snmpVacmMIB ist ausgeschlossen, und snmpCommunityMIB ist ausgeschlossen. Zusammen können diese Objekte verwendet werden, um Informationen über konfigurierte Benutzer und Community-Strings abzurufen, um Administratorzugriff auf das Gerät zu erhalten. Es wird empfohlen, diese Objekte auf allen Geräten, auf die öffentliche Benutzer zugreifen können, von der Ansicht auszuschließen.
In beiden Beispielen können Sie eigene Community Strings ersetzen.
Diese Konfigurationen führen dazu, dass der Router bei der Abfrage nicht mehr die ARP-Tabelle oder die IP-Routing-Tabelle zurückgibt. Dadurch wird verhindert, dass SNMP-Netzwerkerkennungen CPU-Spitzen auf dem betreffenden Router erzeugen, aber auch eine gewisse Verwaltbarkeit vom Router entfernt.
Router, bei denen zuvor keine CPU-Spitzen auftraten, beginnen dies möglicherweise, wenn die Routing-Tabelle geändert wird. Die Anzahl der Zyklen, die erforderlich sind, um auf Anfragen in der IP-Routing-Tabelle zu antworten, hängt von der Anzahl der Routen in der Routing-Tabelle ab. Wenn die Anzahl der Routen zunimmt, nimmt auch die CPU-Auslastung zu.
Im Cisco IOS-Code wurde eine Änderung vorgenommen, damit SNMP bei Verwendung von CEF-Switching die Cisco Express Forwarding (CEF)-Tabelle für Routingeinträge abfragen kann. Dadurch wird die Situation deutlich verbessert. Wenn CEF aktiviert ist, antwortet der SNMP-Agent auf einen Get-Next/Get-Bulk-Vorgang für die Routing- oder ARP-Tabellen mit Informationen aus der Forwarding Information Base (FIB). Die FIB wird in lexikografischer Reihenfolge gespeichert und es ist keine Sortierung erforderlich. Wenn CEF nicht aktiviert ist, antwortet der SNMP-Agent mit Informationen aus der Routing Information Base (RIB), die in eine lexikografische Reihenfolge sortiert werden muss, die eine hohe CPU verursacht.
Folgen Sie dem unten angezeigten Link zur Bug-ID, um detaillierte Informationen zu Bugs zu erhalten.
CSCdk54265 (nur registrierte Kunden) - Beim Polling der Routing-Tabelle über SNMP von der Netzwerkmanagement-Station wird ein CPU-HOG generiert.
Netzwerkverwaltungsanwendungen rufen häufig mithilfe von SNMP Informationen von Geräten ab. Ein Beispiel wäre Resource Manager Essentials (RME), eine Anwendung innerhalb der CiscoWorks 2000-Produktsuite. RME kann die in der CISCO-FLASH-MIB definierten Flash-Informationen abrufen. Wenn das Gerät über einen ATA-Flash-Datenträger verfügt, kann dies dazu führen, dass die CPU-Auslastung sprunghaft ansteigt.
Folgen Sie dem unten angezeigten Link zur Bug-ID, um detaillierte Informationen zu Bugs zu erhalten.
CSCdt97325 (nur registrierte Kunden)
Um die Problemumgehung zu überprüfen und anzuwenden, gehen Sie wie folgt vor:
Überprüfen Sie, ob das Gerät über eine ATA-Flash-Karte in einem der Steckplätze verfügt:
Router#show disk1: ******** ATA Flash Card Geometry/Format Info ******** ATA CARD GEOMETRY Number of Heads: 12 Number of Cylinders 906 Sectors per Cylinder 63 Sector Size 512 Total Sectors 684936 ATA CARD FORMAT Number of FAT Sectors 84 Sectors Per Cluster 32 Number of Clusters 21372 Number of Data Sectors 684117 Base Root Sector 169 Base FAT Sector 1 Base Data Sector 201 Router#
Wenn Sie nicht sicher sind oder keine Ausgabe für den Befehl show diskX erhalten, führen Sie den Befehl show tech aus und suchen Sie nach der Festplatte.
Wenn Sie wissen, dass Sie eine ATA-Flash-Festplatte haben, können Sie die folgende Problemumgehung anwenden, um die SNMP-Abfragen auf der FLASH-MIB zu verhindern:
Router(config)#snmp-server viewiso included !--- ISO is used as a starting point as it is the snmp 'root'. Router(config)#snmp-server viewciscoFlashMIB excluded !--- The additional object snmpUsmMIB is excluded. Router(config)#snmp-server view1.3.6.1.6.3.15 excluded !--- The additional object snmpVacmMIB is excluded. Router(config)#snmp-server view1.3.6.1.6.3.16 excluded !--- The additional object snmpCommunityMIB is excluded. Router(config)#snmp-server view1.3.6.1.6.3.18 excluded Router(config)#snmp-server communityview Router(config)#snmp-server communityro view Router(config)#exit Router#rw
Hinweis: Wählen Sie in jeder Zeile dasselbe Wort für das <any_word> in der obigen Konfiguration aus.
Vorsicht: Im obigen Beispiel ist snmpUsmMIB ausgeschlossen, snmpVacmMIB ist ausgeschlossen, und snmpCommunityMIB ist ausgeschlossen. Zusammen können diese Objekte verwendet werden, um Informationen über konfigurierte Benutzer und Community-Strings abzurufen, um Administratorzugriff auf das Gerät zu erhalten. Es wird empfohlen, diese Objekte auf allen Geräten, auf die öffentliche Benutzer zugreifen können, von der Ansicht auszuschließen.
Stellen Sie sicher, dass sie korrekt implementiert ist:
Router#show run ... snmp-server viewiso included !--- ISO is used as a starting point as it is the snmp 'root'. snmp-server viewciscoFlashMIB excluded snmp-server view !--- The additional object snmpUsmMIB is excluded. snmp-server viewinternet.6.3.15 excluded internet.6.3.16 excluded !--- The additional object snmpVacmMIB is excluded. snmp-server viewinternet.6.3.18 excluded !--- The additional object snmpCommunityMIB is excluded. snmp-server communityview RW snmp-server community view RO
Hinweis: <any_word>, <write_community_string> und <read_community_string> sind die in der Konfiguration enthaltenen Elemente.
Vorsicht: Im obigen Beispiel ist snmpUsmMIB ausgeschlossen, snmpVacmMIB ist ausgeschlossen, und snmpCommunityMIB ist ausgeschlossen. Zusammen können diese Objekte verwendet werden, um Informationen über konfigurierte Benutzer und Community-Strings abzurufen, um Administratorzugriff auf das Gerät zu erhalten. Es wird empfohlen, diese Objekte auf allen Geräten, auf die öffentliche Benutzer zugreifen können, von der Ansicht auszuschließen.
Geben Sie den Befehl show proc cpu ein, um zu überprüfen, ob die CPU-Util für SNMP ausfällt, und suchen Sie nach dem IP_SNMP-Prozess.
Hinweis: Der Fehler CSCdt97325 wurde auch in einigen späteren Cisco IOS-Versionen behoben. Weitere Informationen finden Sie im Fehler.
Weitere Fehler im Zusammenhang mit Polling-MIBs:
Folgen Sie den unten stehenden Links zu Cisco Bug ID (Bug-ID), um detaillierte Informationen zu Bugs zu erhalten.
CSCdm67427 (nur registrierte Kunden) - Beim Polling der ATM-Subschnittstelle wird die CPU-HOG-Nachricht vom Gerät zurückgegeben.
CSCdu63734 (nur registrierte Kunden) - Flash MIB führt zu viele Anrufe an IFF durch.
CSCdu48652 (nur registrierte Kunden) - Die Flash-MIB-Abfrage stürzt Sprachanrufe auf dem 7200 ab.
CSCds53368 (nur registrierte Kunden) - Probleme mit dem ciscoFlashPartitionEntry-Objekt in CISCO-FLASH-MIB.
CSCdu55091 (nur registrierte Kunden) - 2500 snmpgetnext für bestimmte SNMP-Objekte führt zur Rückverfolgung.
CSCdx54836 (nur registrierte Kunden) - SNMP Polling auf Flash MIB verursacht eine hohe CPU-Auslastung auf dem Switch.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
27-Feb-2014 |
Erstveröffentlichung |