In diesem Dokument werden die Ursachen für die hohe CPU-Auslastung der Cisco Catalyst Switches der Serie 3750 beschrieben. Ähnlich wie bei Cisco Routern verwenden Switches den Befehl show process cpu, um die CPU-Auslastung anzuzeigen, um die Ursachen für die hohe CPU-Auslastung zu ermitteln. Aufgrund der Unterschiede in der Architektur und den Weiterleitungsmechanismen zwischen Cisco Routern und Switches unterscheidet sich die typische Ausgabe des Befehls show process cpu erheblich. In diesem Dokument werden auch einige häufig auftretende Symptome aufgeführt, die zu einer hohen CPU-Auslastung bei den Catalyst Switches der Serie 3750 führen.
Für dieses Dokument bestehen keine speziellen Anforderungen.
Die Informationen in diesem Dokument basieren auf Catalyst Switches der Serie 3750.
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 unter Cisco Technical Tips Conventions (Technische Tipps zu Konventionen von Cisco).
Bevor Sie sich die Architektur zur Verarbeitung von CPU-Paketen ansehen und eine Fehlerbehebung für eine hohe CPU-Auslastung durchführen, müssen Sie die verschiedenen Möglichkeiten verstehen, wie hardwarebasierte Weiterleitungs-Switches und Cisco IOS® Software-basierte Router die CPU verwenden. Das allgemeine Missverständnis besteht darin, dass eine hohe CPU-Auslastung auf die Erschöpfung der Ressourcen auf einem Gerät und die Gefahr eines Absturzes hinweist. Ein Kapazitätsproblem ist eines der Symptome einer hohen CPU-Auslastung bei Cisco IOS-Routern. Ein Kapazitätsproblem ist jedoch fast nie ein Symptom einer hohen CPU-Auslastung bei hardwarebasierten Weiterleitungs-Switches.
Der erste Schritt zur Fehlerbehebung bei hoher CPU-Auslastung besteht darin, die Versionshinweise der Cisco IOS-Version Ihres Catalyst 3750-Switches auf mögliche bekannte IOS-Fehler zu überprüfen. Auf diese Weise können Sie den IOS-Fehler aus den Schritten zur Fehlerbehebung entfernen. Eine Liste der Versionshinweise für Catalyst Switches der Serie 3750 finden Sie in den Versionshinweisen der Cisco Catalyst Switches der Serie 3750.
In diesem Abschnitt werden einige der häufigsten Probleme bei der CPU-Auslastung des Catalyst 3750-Switches behandelt.
Einer der häufigen Gründe für eine hohe CPU-Auslastung besteht darin, dass die Catalyst 3750-CPU mit dem Verarbeitungssturm des IGMP (Internet Group Management Protocol) beschäftigt ist, der Nachrichten hinterlässt. Wenn ein Stack von Catalyst 3750-Switches, auf dem die Cisco IOS Software Version 12.1(14)EA1a ausgeführt wird, mit einem anderen Switch verbunden ist, z. B. einem Cat6500, der CatOS ausführt, der MAC-basierte IGMP-Abfragen mit IP-Optionen generiert, wird im IGMPSnooping-Prozess eine hohe CPU-Nutzung festgestellt. ... Dies ist das Ergebnis der MAC-basierten Abfragepakete, die im Stack schleifen. Sie sehen auch eine hohe CPU mit dem HRPC hl2mm Request Prozess. Wenn Sie für den Catalyst 3750-Stack mit der Cisco IOS-Softwareversion 12.1(14)EA1a EtherChannel konfiguriert haben, kann ein Sturm von IGMP-Ablassmeldungen erstellt werden.
Der Catalyst 3750 erhält viele IGMP-Anfragen. Dadurch wird der IGMP-Abfragezähler um Hunderte pro Sekunde angehoben. Dies führt zu einer hohen CPU im Catalyst 3750-Switch. Weitere Informationen finden Sie unter Cisco Bug ID CSCeg55298 (nur registrierte Kunden). Der Fehler wurde in der Cisco IOS Software-Version 12.1(14)EA1a entdeckt und ist in den Cisco IOS Software-Versionen 12.2(25)SEA und höher behoben. Die permanente Lösung besteht darin, ein Upgrade auf die neueste Cisco IOS-Version durchzuführen. Die vorübergehende Lösung besteht darin, IGMP-Snooping im Catalyst 3750-Stack zu deaktivieren oder eine MAC-basierte Abfrage auf dem Switch zu deaktivieren, der mit dem 3750-Stack verbunden ist.
Dies ist eine Beispielausgabe des Befehls show ip traffic, der IP-Pakete mit schlechten Optionen und Warnungen zeigt, die sich schnell erhöhen:
Switch#show ip traffic Rcvd: 48195018 total, 25628739 local destination 0 format errors, 0 checksum errors, 10231692 bad hop count 0 unknown protocol, 9310320 not a gateway 0 security failures, 10231 bad options, 2640539 with options Opts: 2640493 end, 206 nop, 0 basic security, 2640523 loose source route 0 timestamp, 0 extended security, 16 record route 0 stream ID, 0 strict source route, 10231 alert, 0 cipso, 0 ump 0 other Frags: 16 reassembled, 0 timeouts, 0 couldn't reassemble 32 fragmented, 0 couldn't fragment Bcast: 308 received, 0 sent Mcast: 4221007 received, 4048770 sent Sent: 25342014 generated, 20710669 forwarded Drop: 617267 encapsulation failed, 0 unresolved, 0 no adjacency 0 no route, 0 unicast RPF, 0 forced drop 0 options denied, 0 source IP address zero !--- Output suppressed.
Der Befehl show process cpu zeigt Informationen über die aktiven Prozesse im Switch und die entsprechenden CPU-Nutzungsstatistiken an. Dies ist eine Beispielausgabe des Befehls show process cpu, wenn die CPU-Auslastung normal ist:
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN !--- CPU utilization at normal condition. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC hI2mm reque !--- Output suppressed.
Dies ist eine Beispielausgabe des Befehls show process cpu, wenn die CPU-Auslastung aufgrund des IGMP-Snooping-Prozesses hoch ist:
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 100 100 100 0 IGMPSN !--- Due to high CPU utilization. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 2874 0 100 100 100 0 HRPC hI2mm reque !--- Output suppressed.
Der GRE-Tunnel (General Routing Encapsulation) wird von den Cisco Catalyst Switches der Serie 3750 nicht unterstützt. Obwohl diese Funktion mit CLI konfiguriert werden kann, können die Pakete weder durch Hardware noch durch Software geswitcht werden, wodurch die CPU-Auslastung erhöht wird.
Hinweis: Für das Multicast-Routing im Catalyst 3750 werden nur Tunnelschnittstellen des Distance Vector Multicast Routing Protocol (DVMRP) unterstützt. Auch hierfür können Pakete nicht mit Hardware gewechselt werden. Die über diesen Tunnel weitergeleiteten Pakete müssen durch Software gewechselt werden. Die höhere Anzahl an Paketen, die durch diesen Tunnel weitergeleitet werden, erhöht die CPU-Auslastung.
Für dieses Problem gibt es keine Lösung. Dies ist eine Hardware-Einschränkung für die Catalyst Switches der Serie 3750.
Wenn Catalyst Switches der Serie 3750 in einem Stack verbunden sind und an einem Switch Konfigurationsänderungen vorgenommen wurden, wird der Konfigurationsvorgang mit der laufenden Konfiguration gestartet und eine neue Kopie der aktuellen Konfiguration generiert. Anschließend werden alle Switches im Stack übermittelt. Die neue aktuelle Konfiguration ist CPU-intensiv. Daher ist die CPU-Auslastung hoch, wenn ein neuer Konfigurationsprozess erstellt und die neuen Konfigurationen an andere Switches weitergeleitet werden. Diese hohe CPU-Auslastung sollte jedoch nur so lange vorhanden sein, wie es dauert, den Buildkonfigurationsschritt des Befehls show running-configuration auszuführen.
Für dieses Problem ist keine Lösung erforderlich. In diesen Situationen ist die CPU-Auslastung normalerweise hoch.
Dies ist eine Beispielausgabe des Befehls show process cpu, wenn die CPU-Auslastung aufgrund des hulc running-Prozesses hoch ist:
switch#show processes cpu CPU utilization for five seconds: 63%/0%; one minute: 27%; five minutes: 23% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC h12mm reque 17 85964 426 201793 55.72% 12.05% 5.36% 0 hulc running !--- Output suppressed.
Eine hohe CPU-Auslastung des Address Resolution Protocol (ARP)-Eingabeprozesses tritt auf, wenn der Router eine übermäßige Anzahl von ARP-Anfragen generieren muss. ARP-Anfragen für dieselbe IP-Adresse sind alle zwei Sekunden auf eine Anfrage beschränkt. Aus diesem Grund muss eine übermäßige Anzahl von ARP-Anfragen für verschiedene IP-Adressen generiert werden. Dies kann auftreten, wenn eine IP-Route konfiguriert wurde und auf eine Broadcast-Schnittstelle zeigt. Ein offensichtliches Beispiel ist eine Standardroute, z. B.:
ip route 0.0.0.0 0.0.0.0 Fastethernet0/0
In diesem Fall generiert der Router eine ARP-Anfrage für jede IP-Adresse, die nicht über spezifischere Routen erreichbar ist. Das bedeutet, dass der Router eine ARP-Anfrage für fast jede Adresse im Internet generiert. Weitere Informationen zur Konfiguration der nächsten Hop-IP-Adresse für statisches Routing finden Sie unter Angeben einer Next-Hop-IP-Adresse für statische Routen.
Alternativ kann eine übermäßige Anzahl von ARP-Anfragen durch einen schädlichen Datenverkehrsstrom verursacht werden, der über lokal angeschlossene Subnetze scannt. Ein Hinweis auf einen solchen Datenstrom ist das Vorhandensein einer sehr hohen Anzahl unvollständiger ARP-Einträge in der ARP-Tabelle. Da eingehende IP-Pakete, die ARP-Anfragen auslösen, verarbeitet werden müssen, entspricht die Fehlerbehebung für dieses Problem im Wesentlichen der Behebung einer hohen CPU-Auslastung im IP Input-Prozess.
In den neuesten Cisco IOS-Versionen für Catalyst 3750 werden SNMP-Anfragen (Simple Network Management Protocol) von der SNMP ENGINE bearbeitet. Aufgrund dieses SNMP ENGINE-Prozesses ist es normal, dass die CPU hoch ist. Der SNMP-Prozess hat eine niedrige Priorität und sollte keine Funktionen auf dem Switch beeinträchtigen.
Weitere Informationen zur durch den SNMP ENGINE-Prozess verursachten hohen CPU-Auslastung finden Sie unter IP Simple Network Management Protocol (SNMP) Causes High CPU Utilization (IP Simple Network Management Protocol).
Das Switch Database Management (SDM) auf den Catalyst Switches der Serie 3750 verwaltet die Switching-Informationen für Layer 2 und Layer 3, die im Ternary Content Addressable Memory (TCAM) gespeichert werden. Die SDM-Vorlagen werden verwendet, um Systemressourcen im Switch zu konfigurieren, um die Unterstützung bestimmter Funktionen zu optimieren. Dies hängt davon ab, wie der Switch im Netzwerk verwendet wird. Die SDM-Vorlagen können ausgewählt werden, um eine maximale Systemnutzung für einige Funktionen bereitzustellen, oder um die Ressourcen mithilfe der Standardvorlage auszugleichen. Die Vorlagen priorisieren Systemressourcen, um die Unterstützung für folgende Funktionen zu optimieren:
Routing - Die Routing-Vorlage maximiert Systemressourcen für Unicast-Routing, das normalerweise für einen Router oder einen Aggregator in der Netzwerkmitte erforderlich ist.
VLANs: Die VLAN-Vorlage deaktiviert das Routing und unterstützt die maximale Anzahl von Unicast-MAC-Adressen. Dies wird in der Regel für einen Layer-2-Switch ausgewählt.
Access (Zugriff): Die Zugriffsvorlage maximiert die Systemressourcen für Zugriffskontrolllisten (ACLs), um eine große Anzahl von ACLs zu unterstützen.
Default (Standard): Die Standardvorlage stellt einen Ausgleich für alle Funktionen bereit.
Jede Vorlage ist in zwei Versionen erhältlich: eine Desktop-Vorlage und eine Aggregator-Vorlage.
Hinweis: Die Standardvorlage für Desktop-Switches ist die Standard-Desktop-Vorlage. Die Standardvorlage für Catalyst 3750-12S ist die Aggregatorvorlage.
Wählen Sie eine geeignete SDM-Vorlage aus, die die maximale Systemnutzung für die verwendete Funktion bereitstellt. Eine ungeeignete SDM-Vorlage kann die CPU überlasten und die Switch-Leistung erheblich beeinträchtigen.
Geben Sie den Befehl show platform tcam Usage ein, um zu sehen, wie viel TCAM jetzt verwendet wurde und wie viel verfügbar ist.
Switch#show platform tcam utilization CAM Utilization for ASIC# 0 Max Used Masks/Values Masks/values Unicast mac addresses: 784/6272 12/26 IPv4 IGMP groups + multicast routes: 144/1152 6/26 IPv4 unicast directly-connected routes: 784/6272 12/26 IPv4 unicast indirectly-connected routes: 272/2176 8/44 IPv4 policy based routing aces: 0/0 0/0 IPv4 qos aces: 528/528 18/18 IPv4 security aces: 1024/1024 27/27 Note: Allocation of TCAM entries per feature uses a complex algorithm. The above information is meant to provide an abstract view of the current TCAM utilization
Wenn die TCAM-Auslastung für einen der Parameter nahe der Höchstwerte liegt, prüfen Sie, ob eine der anderen Vorlagenfunktionen für diesen Parameter optimiert werden kann.
show sdm prefer access | default | dual-ipv4-and-ipv6 | routing | vlan
Switch# show sdm prefer routing "desktop routing" template: The selected template optimizes the resources in the switch to support this level of features for 8 routed interfaces and 1024 VLANs. number of unicast mac addresses: 3K number of igmp groups + multicast routes: 1K number of unicast routes: 11K number of directly connected hosts: 3K number of indirect routes: 8K number of policy based routing aces: 512 number of qos aces: 512 number of security aces: 1K
Geben Sie den Befehl sdm prefer (Globaler Konfigurationsbefehl) ein, um die SDM-Vorlage festzulegen, die auf dem Switch verwendet werden soll.
Hinweis: Zur Verwendung der neuen SDM-Vorlage muss der Switch neu geladen werden.
Die Implementierung von Policy Based Routing (PBR) in Cisco Catalyst Switches der Serie 3750 weist einige Einschränkungen auf. Wenn diese Einschränkungen nicht befolgt werden, kann dies zu einer hohen CPU-Auslastung führen.
Sie können PBR auf einem gerouteten Port oder einer SVI aktivieren.
Der Switch unterstützt keine Route-Map-Deny-Anweisungen für PBR.
Der Multicast-Datenverkehr wird nicht durch Richtlinien geroutet. PBR gilt nur für Unicast-Datenverkehr.
Ordnen Sie keine ACLs zu, die Pakete für eine lokale Adresse zulassen. Der PBR leitet diese Pakete weiter, was einen Ping- oder Telnet-Ausfall oder ein Flapping des Routing-Protokolls verursachen kann.
Geben Sie ACLs nicht mit deny ACEs ab. Pakete, die einem deny ACE entsprechen, werden an die CPU gesendet, was eine hohe CPU-Auslastung verursachen kann.
Um PBR zu verwenden, müssen Sie zunächst die Routing-Vorlage aktivieren, wobei der Befehl sdm es vorzieht, den globalen Konfigurationsbefehl weiterzuleiten. PBR wird vom VLAN oder der Standardvorlage nicht unterstützt.
Eine vollständige Liste finden Sie in den PBR-Konfigurationsrichtlinien.
Sie können ICMP-verworfene Umleitungen erhalten, wenn ein VLAN (oder ein beliebiger Layer-3-Port) ein Paket empfängt, bei dem sich die Quell-IP in einem Subnetz befindet, die Ziel-IP in einem anderen Subnetz und der nächste Hop im selben VLAN oder Layer-3-Segment.
Hier ein Beispiel:
Diese Meldung wird im Anzeigeprotokoll angezeigt:
51w2d: ICMP-Q:Dropped redirect disabled on L3 IF: Local Port Fwding L3If:Vlan7 L2If:GigabitEthernet2/0/13 DI:0xB4, LT:7, Vlan:7 SrcGPN:65, SrcGID:65, ACLLogIdx:0x0, MacDA:001a.a279.61c1, MacSA: 0002.5547.3bf0 IP_SA:64.253.128.3 IP_DA:208.118.132.9 IP_Proto:47 TPFFD:EDC10041_02C602C6_00B0056A-000000B4_EBF6001B_0D8A3746
Dies tritt auf, wenn das Paket in VLAN 7 mit der Quell-IP 64.253.128.3 empfangen wird und versucht, 208.118.132.9, die Ziel-IP, zu erreichen. Wie Sie sehen, befindet sich der nächste Hop, der im Switch konfiguriert wurde (in diesem Fall 64.253.128.41), ebenfalls im gleichen VLAN 7.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
26-Jun-2009 |
Erstveröffentlichung |