In diesem Dokument werden die Ursachen für die hohe CPU-Auslastung auf den Cisco Catalyst Switches der Serie 3750 beschrieben. Ähnlich wie Cisco Router verwenden Switches den Befehl show processes cpu, um die CPU-Auslastung anzuzeigen und so die Ursachen für eine hohe CPU-Auslastung zu identifizieren. Aufgrund der Unterschiede bei der Architektur und den Weiterleitungsmechanismen zwischen Cisco Routern und Switches unterscheidet sich die typische Ausgabe des Befehls show processes cpu erheblich. In diesem Dokument sind auch einige häufige Symptome aufgeführt, die eine hohe CPU-Auslastung auf dem Catalyst Switch der Serie 3750 verursachen.
Es gibt keine spezifischen Anforderungen für dieses Dokument.
Die Informationen in diesem Dokument basieren auf Catalyst Switches der Serie 3750.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netz Live ist, überprüfen Sie, ob Sie die mögliche Auswirkung jedes möglichen Befehls verstehen.
Weitere Informationen zu Dokumentkonventionen finden Sie unter Cisco Technical Tips Conventions (Technische Tipps von Cisco zu Konventionen).
Bevor Sie sich die CPU-Paketverarbeitungsarchitektur ansehen und die Fehlerbehebung bei hoher CPU-Auslastung durchführen, müssen Sie sich mit den verschiedenen Möglichkeiten vertraut machen, auf die hardwarebasierte Weiterleitungs-Switches und Cisco IOS® Software-basierte Router die CPU verwenden. Der weit verbreitete Irrtum besteht darin, dass eine hohe CPU-Auslastung auf die Erschöpfung der Ressourcen auf einem Gerät und die Gefahr eines Absturzes hindeutet. Ein Kapazitätsproblem ist eines der Symptome einer hohen CPU-Auslastung auf Cisco IOS-Routern. Bei hardwarebasierten Forwarding-Switches ist ein Kapazitätsproblem jedoch fast nie ein Symptom für eine hohe CPU-Auslastung.
Der erste Schritt zur Fehlerbehebung bei einer hohen CPU-Auslastung besteht darin, die Cisco IOS-Versionshinweise Ihres Catalyst 3750-Switches auf mögliche bekannte IOS-Fehler zu überprüfen. Auf diese Weise können Sie den IOS-Fehler aus Ihren Fehlerbehebungsschritten entfernen. Eine Liste der Versionshinweise für Catalyst Switches der Serie 3750 finden Sie in den Versionshinweisen zu Cisco Catalyst Switches der Serie 3750.
In diesem Abschnitt werden einige der häufigsten Probleme bei der CPU-Auslastung auf dem Catalyst 3750-Switch behandelt.
Einer der häufigsten Gründe für die hohe CPU-Auslastung ist, dass die CPU von Catalyst 3750 mit dem Verarbeitungssturm des IGMP-Absenders (Internet Group Management Protocol) beschäftigt ist. Wenn ein Stack von Catalyst 3750-Switches, auf denen die Cisco IOS Software Version 12.1(14)EA1a ausgeführt wird, mit einem anderen Switch verbunden ist, wie z. B. einem Cat6500, der CatOS ausführt und MAC-basierte IGMP-Abfragen mit IP-Optionen generiert, ist die CPU des 3750 im IGMPSN-Prozess (Snooping) hoch ausgelastet. 1. Dies ist das Ergebnis der Schleifen MAC-basierter Abfragepakete innerhalb des Stacks. Mit dem HRPC hl2mm Request Prozess sehen Sie auch eine hohe CPU. Wenn auf dem Catalyst 3750-Stack EtherChannel mit Version 12.1(14)EA1a der Cisco IOS-Software konfiguriert ist, kann es zu einem Sturm von IGMP-Abwesenheitsmeldungen kommen.
Der Catalyst 3750 empfängt viele IGMP-Abfragen. Dadurch wird der IGMP-Abfragezähler um Hunderte pro Sekunde erhöht. Dies führt zu einer hohen CPU-Auslastung im Catalyst 3750 Switch. Weitere Informationen finden Sie unter Cisco Bug-ID CSCeg55298 (nur für registrierte Kunden). Der Fehler wurde in Version 12.1(14)EA1a der Cisco IOS-Software erkannt und in Version 12.2(25)SEA und späteren Versionen der Cisco IOS-Software behoben. Die permanente Lösung ist ein Upgrade auf die neueste Cisco IOS-Version. Die temporäre Problemumgehung besteht darin, IGMP-Snooping auf dem Catalyst 3750-Stack zu deaktivieren oder die MAC-basierte Abfrage auf dem mit dem 3750-Stack verbundenen Switch zu deaktivieren.
Dies ist eine Beispielausgabe des Befehls show ip traffic, der IP-Pakete mit ungültigen Optionen und Warnmeldungen anzeigt, 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 processes cpu zeigt Informationen zu den aktiven Prozessen im Switch und die entsprechenden CPU-Nutzungsstatistiken an. Dies ist eine Beispielausgabe des Befehls show processes 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 processes 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 General Routing Encapsulation (GRE)-Tunnel 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 über Hardware noch über Software geswitcht werden, was die CPU-Auslastung erhöht.
Hinweis: Nur Distance Vector Multicast Routing Protocol (DVMRP)-Tunnelschnittstellen werden für Multicast-Routing in Catalyst 3750 unterstützt. Selbst in diesem Fall können Pakete nicht mit Hardware geswitcht werden. Die über diesen Tunnel weitergeleiteten Pakete müssen über Software weitergeleitet werden. Je mehr Pakete durch diesen Tunnel weitergeleitet werden, desto höher ist die CPU-Auslastung.
Es gibt keine Lösung für dieses Problem. Dies ist eine Hardwarebeschränkung für die Catalyst Switches der Serie 3750.
Wenn Catalyst 3750-Switches in einem Stack verbunden sind und Konfigurationsänderungen an einem Switch vorgenommen werden, wird der aktuelle hulc-Konfigurationsprozess aktiviert und generiert eine neue Kopie der aktuellen Konfiguration. Anschließend werden alle Switches im Stack gesendet. Die neu ausgeführte Konfiguration ist CPU-intensiv. Aus diesem Grund ist die CPU-Auslastung beim Erstellen eines neu ausgeführten Konfigurationsprozesses und beim Weiterleiten der neuen Konfigurationen an andere Switches sehr hoch. Diese hohe CPU-Auslastung sollte jedoch nur für die Dauer vorhanden sein, die auch für den Buildkonfigurationsschritt des Befehls show running-configuration erforderlich ist.
Für dieses Problem gibt es keinen Workaround. Die CPU-Auslastung ist in diesen Situationen normalerweise hoch.
Dies ist eine Beispielausgabe des Befehls show processes cpu, wenn die CPU-Auslastung aufgrund des ausgeführten hulc-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.
Die hohe CPU-Auslastung des Address Resolution Protocol (ARP)-Eingabeprozesses liegt vor, wenn der Router eine übermäßig hohe Anzahl von ARP-Anforderungen auslösen muss. ARP-Anforderungen für dieselbe IP-Adresse sind auf eine Anforderung alle zwei Sekunden beschränkt. Aus diesem Grund muss eine übermäßig hohe Anzahl von ARP-Anforderungen für unterschiedliche IP-Adressen generiert werden. Dies kann auftreten, wenn eine IP-Route konfiguriert wurde und auf eine Broadcast-Schnittstelle verweist. 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-Anforderung für jede IP-Adresse, die nicht über spezifischere Routen erreichbar ist. Das bedeutet, dass der Router eine ARP-Anforderung für fast jede Adresse im Internet generiert. Weitere Informationen zum Konfigurieren der Next-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-Anforderungen durch einen schädlichen Datenverkehrsstrom verursacht werden, der durch 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 verarbeitet werden müssen, die ARP-Anforderungen auslösen, entspricht die Fehlerbehebung bei diesem Problem im Wesentlichen der Fehlerbehebung bei einer hohen CPU-Auslastung im IP-Eingabeprozess.
In den neuesten Cisco IOS-Versionen für Catalyst 3750 werden SNMP-Anforderungen (Simple Network Management Protocol) von der SNMP ENGINE verarbeitet. Aufgrund dieses SNMP ENGINE-Prozesses ist es normal, dass die CPU hoch wird. Der SNMP-Prozess hat eine niedrige Priorität und sollte sich nicht auf die Switch-Funktionalität auswirken.
Weitere Informationen zur hohen CPU-Auslastung, die durch den SNMP ENGINE-Prozess verursacht wird, finden Sie unter IP Simple Network Management Protocol (SNMP) Causes High CPU Utilization (Hohe CPU-Auslastung).
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) verwaltet werden. Die SDM-Vorlagen dienen dazu, Systemressourcen im Switch zu konfigurieren, um die Unterstützung für bestimmte 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 Systemauslastung für einige Funktionen bereitzustellen, oder um die Standardvorlage zum Ausgleichen von Ressourcen zu verwenden. In den Vorlagen werden Systemressourcen priorisiert, um die Unterstützung für folgende Funktionen zu optimieren:
Routing - Die Routing-Vorlage maximiert die Systemressourcen für Unicast-Routing, das normalerweise für einen Router oder einen Aggregator in der Mitte eines Netzwerks erforderlich ist.
VLANs: Die VLAN-Vorlage deaktiviert Routing und unterstützt die maximale Anzahl von Unicast-MAC-Adressen. Diese Option wird normalerweise 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 unterzubringen.
Default (Standard) - Die Standardvorlage gleicht alle Funktionen aus.
Es gibt zwei Versionen jeder Vorlage: 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 Standardvorlage für Aggregatoren.
Wählen Sie eine geeignete SDM-Vorlage aus, die die maximale Systemauslastung für die verwendete Funktion bereitstellt. Eine ungeeignete SDM-Vorlage kann die CPU überlasten und die Switch-Leistung erheblich beeinträchtigen.
Führen Sie den Befehl show platform tcam usage aus, um zu sehen, wie viel TCAM bereits genutzt 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 nahezu auf dem Maximum liegt, prüfen Sie, ob andere Vorlagenfunktionen für diesen Parameter optimiert werden können.
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
Um die auf dem Switch zu verwendende SDM-Vorlage festzulegen, geben Sie den globalen Konfigurationsbefehl sdm prefer ein.
Hinweis: Der Switch muss neu geladen werden, um die neue SDM-Vorlage verwenden zu können.
Die Implementierung von Policy Based Routing (PBR) in Cisco Catalyst Switches der Serie 3750 unterliegt gewissen Einschränkungen. Wenn diese Einschränkungen nicht befolgt werden, kann dies zu einer hohen CPU-Auslastung führen.
Sie können PBR an einem gerouteten Port oder einer SVI aktivieren.
Der Switch unterstützt keine Route-Map-Deny-Anweisungen für PBR.
Der Multicast-Datenverkehr wird nicht über die Richtlinie geroutet. PBR gilt nur für Unicast-Datenverkehr.
Stimmen Sie nicht mit ACLs überein, die für eine lokale Adresse bestimmte Pakete zulassen. Der PBR leitet diese Pakete weiter, was einen Ping- oder Telnet-Ausfall oder ein Flapping des Routingprotokolls verursachen kann.
Ordnen Sie ACLs nicht den Verweigern-ACEs zu. Pakete, die einem deny-ACE entsprechen, werden an die CPU gesendet, was zu einer hohen CPU-Auslastung führen kann.
Um PBR verwenden zu können, müssen Sie zunächst die Routing-Vorlage mit dem globalen Konfigurationsbefehl sdm prefer routing aktivieren. PBR wird vom VLAN oder der Standardvorlage nicht unterstützt.
Eine vollständige Liste finden Sie in den PBR-Konfigurationsrichtlinien.
ICMP-Weiterleitungen können blockiert werden, wenn ein VLAN (oder ein beliebiger Layer-3-Port) ein Paket empfängt, dessen Quell-IP sich in einem Subnetz, dessen Ziel-IP sich in einem anderen Subnetz und dessen nächster Hop sich in demselben VLAN oder Layer-3-Segment befindet.
Hier ein Beispiel:
Sie können diese Meldung im Anzeigeprotokoll sehen:
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 geschieht, wenn das Paket über VLAN 7 mit der Quell-IP 64.253.128.3 empfangen wird und versucht, die Ziel-IP 208.118.132.9 zu erreichen. Wie Sie sehen, befindet sich der nächste auf dem Switch konfigurierte Hop (in diesem Fall 64.253.128.41) ebenfalls auf demselben VLAN 7.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
20-Dec-2005 |
Erstveröffentlichung |