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.
Dieses Dokument beschreibt die allgemeine Fehlerbehebung, um Probleme mit hohen CPU-/QFP-Werten ordnungsgemäß an das TAC melden zu können und so eine schnellere Lösung zu ermöglichen.
Cisco empfiehlt, dass Sie über Grundkenntnisse in diesen Themen verfügen:
Dieses Dokument ist nicht auf bestimmte Software- und Hardware-Versionen beschränkt. Sie gilt für alle Cisco IOS-XE® Routing-Plattformen mit physischem/virtualisiertem QFP, z. B. ASR1000, ISR4000, ISR1000, Cat8000 oder Cat8000v.
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 Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
In diesem Dokument werden die Befehle beschrieben, die das TAC für die erstmalige Einstufung eines CPU-/QFP-Problems benötigt, um ein erstklassiges TAC-Erlebnis zu gewährleisten.
Außerdem enthält dieses Dokument Tipps zur Fehlerbehebung, um ein Problem mit einer hohen CPU-Auslastung oder einem QFP-Auslastungsproblem (Quantum Flow Processor) zu identifizieren, sodass Sie vor dem Öffnen eines TAC-Tickets eine Lösung finden können.
In diesem Dokument werden keine Verfahren zur Fehlerbehebung ausführlich erläutert. Wenn verfügbar, finden Sie weitere Verweise in ausführlichen Anleitungen zur Fehlerbehebung.
Am Ende dieses Dokuments befinden sich Blockdiagramme, die zu Ausbildungszwecken als visuelle Darstellung der Komponenten dienen.
Hohe Komponenten - Arbeitsspeicher, TCAM, CPU, QFP - die Auslastung ist in der Regel ein Indikator für:
Es ist wichtig, die Ursache für die hohe Komponentenauslastung zu ermitteln, um die richtige Vorgehensweise zur Lösung des Problems zu bestimmen.
Sie können mithilfe von Überwachungstools oder mithilfe der folgenden Befehle überprüfen, ob eine hohe CPU oder ein QFP vorliegt:
show process cpu sorted
iosxe_router#show process cpu sorted
CPU utilization for five seconds: 90%/0%; one minute: 0%; five minutes: 0%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
395 78769 1242162 63 89.07% 88.04% 89.02% 0 CDP Protocol
1 8 88 90 0.00% 0.00% 0.00% 0 Chunk Manager
--- snip ---
Von der Zeile "CPU-Auslastung für fünf Sekunden: 90 %/0 %; eine Minute: 0 %; fünf Minuten: 0 %" aus müssen Sie sich auf den ersten Wert nach der Zeichenfolge "fünf Sekunden" konzentrieren. In diesem Fall geben die 90 % die Gesamt-CPU-Auslastung an, während die Zahl rechts neben dem Schrägstrich (-0) die CPU-Auslastung aufgrund von Interrupts angibt. Der Unterschied zwischen diesen beiden Werten stellt die gesamte CPU-Auslastung aufgrund von Prozessen dar. In diesem Szenario beansprucht das CDP-Protokoll den Großteil der CPU-Ressourcen (Kontrollebene).
Da Cisco IOS-XE über einen Linux-basierten Kernel verfügt, kann es vorkommen, dass bei allen Prozessen, die darauf ausgeführt werden, Probleme auftreten. Daher können Sie die CPU-Plattform für die Anzeige von Prozessen verwenden, um zu überprüfen, ob ein Prozess Probleme verursacht (Schwerpunkt auf der 5-Sekunden-Spalte). um Prozesse des zugrunde liegenden Betriebssystems anzuzeigen.
iosxe_router#show process cpu platform sorted
-- depending on the architecture, there can be multiple cores, deleting for brevity --
Pid PPid 5Sec 1Min 5Min Status Size Name
--------------------------------------------------------------------------------
18009 18001 323% 325% 328% R 266740 ucode_pkt_PPE0
11168 11160 1% 1% 1% S 914556 linux_iosd-imag
96 2 1% 0% 0% S 0 ksmd
--- snip ---
Hinweis: Router mit virtuellem QFP haben den ucode_pkt_PPE0-Prozess, den Softwareprozess, der die Datenebene emuliert. Daher kann dieser Prozess aus der Liste der Prozesse, die zur CPU-Auslastung beitragen, ignoriert werden.
QFP ist das System auf einem Chip, das für die gesamte Paketweiterleitung verantwortlich ist. Weitere Informationen finden Sie im Abschnitt High QFP auf IOS-XE-Routern.
iosxe_router #show platform hardware qfp active datapath utilization
CPP 0: Subdev 0 5 secs 1 min 5 min 60 min
--- snip ---
(bps) 21992 13648 13736 13720
Processing: Load (pct) 0 0 0 0
Crypto/IO
RX: Load (pct) 0 0 0 0
TX: Load (pct) 1 1 1 0
Idle (pct) 99 99 99 99
Konzentrieren Sie sich beim Befehl show platform hardware qfp active data path usage auf die Verarbeitung: Load für die Spalte mit den 5 Sekunden, da dies die aktuellste QFP-Gesamtnutzung bereitstellt. Einige Geräte zeigen auch die Nutzung des Crypto/IO-Moduls an, konzentrieren sich auf Idle, je näher 100%, desto besser.
Standardmäßig werden keine Protokolle vom System generiert, die eine hohe CPU-Auslastung auf IOSd anzeigen, das die CPU-Nummer 0 verwendet, die erste CPU auf Cisco IOS-XE-Systemen.
Dieser Befehl muss zuerst konfiguriert werden, damit Syslog auf dem ersten Core generiert werden kann.
Dieser Befehl muss entsprechend dem in CPU-Schwellenwertbenachrichtigung beschriebenen Format geschrieben werden: Prozess-CPU-Schwellenwerttyp {gesamt | Prozess | interrupt} steigende Intervall-Sekunden [fallender Prozentsatz Intervall-Sekunden]
Auf diese Weise können wir diese Art von Benachrichtigung sehen:
%SYS-1-CPURISINGTHRESHOLD: Threshold: Total CPU Utilization(Total/Intr): 91%/2%, Top 3 processes(Pid/Util):
Eine weitere Möglichkeit, die hohe Auslastung auf ihm zu erfassen, sind SNMP- oder Telemetriemessungen.
In einigen Fällen würde eine solche Ressourcenbeschränkungswarnung angezeigt, wenn andere Kerne einen hohen Auslastungsgrad aufweisen:
PLATFORM_INFRA-5-IOS_INTR_OVER_LIMIT:
Für die Datenebene wird diese Art von QFP-Warnung im Protokoll angezeigt, die generell angibt, dass die Schwellenlast überschritten wurde:
MCPRP-QFP-ALERT: Slot: 0, QFP:0, Load 93% exceeds the setting threshold(80%).
Wenn die CPU nicht bei konstanten 100 % feststeckt, geben Sie eine Ausgabe für die Show-Technologie an. Dies ist eine große Hilfe für das TAC, und Sie können von den Automatisierungsfunktionen profitieren, die das TAC entwickelt hat, damit Sie Probleme schneller finden.
Hinweis: Der CPU-intensive Zustand muss behoben werden, während das Problem auftritt, da das Gerät keine historischen Daten über die Laufzeit von Prozessen speichert.
Hinweis: Stellen Sie sicher, dass Sie eine unterstützte Version verwenden. Suchen Sie nach dem Dokument zum Ende des Vertriebszeitraums und zum Ende des Produktlebenszyklus für die Version. Wechseln Sie ggf. zu einer Version, die aktuell unter Softwarewartungsversionen steht. Andernfalls ist das TAC auf die Fehlerbehebungs- und Lösungsoptionen beschränkt.
In der Regel gilt eine CPU/QFP als sehr hoch, wenn sie über 80 % läuft.
Cisco IOS-XE-Router können mit einer hohen Auslastung auf der Steuerungsebene (CPU) oder auf Datenebene (QFP) verbunden sein.
Hinweis: Im Idealfall muss eine hohe CPU/QFP-Auslastung im Vergleich zu den typischen Nutzungsmustern des Geräts im Laufe der Zeit bewertet werden. Wenn beispielsweise ein Gerät normalerweise mit 10 % CPU-Auslastung arbeitet, aber plötzlich auf 40 % hochspringt, kann dies auf eine hohe CPU-Auslastung für dieses Gerät hinweisen. Andererseits ist ein Gerät, das durchgängig mit 80 % CPU-Auslastung betrieben wird, nicht unbedingt ein Problem, wenn dies sein üblicher Betriebszustand ist. Überwachungssysteme mit CPU-Diagrammen können dabei helfen, diese Daten zu erfassen und zu analysieren, um eine Baseline für jedes Gerät zu erstellen.
Die Bezeichnung CPU auf einem Cisco IOS-XE-Router bezieht sich auf die CPU, die für den Verwaltungs-/Steuerungsebenenbetrieb des Geräts verantwortlich ist. Auf dem Gerät werden viele Prozesse ausgeführt, die alle auf einem Linux-basierten Kernel laufen. Jeder dieser Prozesse wird in einer universellen CPU ausgeführt.
Wenn eine hohe CPU-Auslastung vorliegt, ist dies normalerweise ein Indikator für:
Einige Plattformen haben mehrere allgemeine CPUs, die diese Regeln einhalten:
Auf Cisco IOSXE-Geräten verfügen wir im Allgemeinen über CPU-dedizierte Cores für die Daten- und Kontrollebene.
Wenn CPU 0 (die erste CPU) an IOSd (IOS-Daemon) gebunden ist, bezieht sich der dedizierte CPU-Kern im Allgemeinen auf die Kontrollebene. Bei anderen CPUs kann es sich um eine Kombination aus Kontrollebenen- und Datenebenenprozessoren handeln.
Im Fall des ASR 1000, der im Allgemeinen modular aufgebaut ist, zeigen Befehlsausgaben wie Plattformressourcen und Plattformsoftwarestatus-Steuerungsprozessorenbeschreibung die Nutzung für CPUs auf Kontrollebene (RP) und Datenebene (ESP) an.
Kontrollebenen-CPUs sind für die Steuerung der Protokollverarbeitung wie die Verarbeitung von BGP-Protokoll, STP-Protokoll, CDP, SSH usw. vorgesehen. CPUs auf Kontrollebene verarbeiten Pakete, die für die Verarbeitung durch den Router selbst bestimmt sind.
Die Datenebene bezieht sich im Allgemeinen auf Transitpakete, die der Router nicht selbst im Routing-Prozessor (RP) verbraucht. Stattdessen verarbeitet die Datenebene Pakete, die nur in der Quantum Flow Processor (QFP)-Komponente verarbeitet werden, bei der es sich um den Paketprozessor handelt. Diese Pakete werden in QFP verarbeitet, wobei Suchvorgänge durchgeführt werden, um das Transitpaket an das beabsichtigte Ziel zu senden.
Der Quantum Flow Processor (QFP) ist der System on a Chip (SoC) und für alle Paketweiterleitungsvorgänge im Gerät zuständig.
Der QFP führt eine spezielle Software mit dem Namen Microcode aus. Dieser Mikrocode ist für das Ausführen und Anwenden von Funktionen auf alle Pakete verantwortlich, die das Gerät basierend auf der Konfiguration der Eingangs-/Ausgangsschnittstelle passieren. Es interagiert auch mit dem Rest des Systems über die verschiedenen Prozesse.
Wenn ein hoher QFP-Zustand vorliegt, ist dies typischerweise ein Indikator für:
Um die Situation besser zu verstehen, muss das TAC die FIA-Ablaufverfolgung (Feature Invocation Array) für weitere Analysen erfassen. Dies wird bei der Fehlerbehebung mit der IOS-XE DataPath Packet Trace-Funktion dokumentiert.
Es handelt sich hierbei um grundlegende Startbefehle, die zum Zeitpunkt der Ausgabe erfasst werden müssen (EEM-Logik kann implementiert werden, um die Protokollbenachrichtigung abzugleichen und die Ausgabe abzurufen):
router_non_modular#show platform resources
**State Acronym: H - Healthy, W - Warning, C - Critical
Resource Usage Max Warning Critical State
----------------------------------------------------------------------------------------------------
RP0 (ok, active) H
Control Processor 10.64% 100% 80% 90% H
DRAM 2143MB(54%) 3913MB 88% 93% H
bootflash 2993MB(97%) 3099MB 70% 90% C
ESP0(ok, active) H
QFP H
DRAM 52844KB(20%) 262144KB 85% 95% H
IRAM 207KB(10%) 2048KB 85% 95% H
CPU Utilization 0.00% 100% 90% 95% H
Router#show platform software status control-processor brief
Load Average
Slot Status 1-Min 5-Min 15-Min
RP0 Healthy 1.75 1.25 1.14
Memory (kB)
Slot Status Total Used (Pct) Free (Pct) Committed (Pct)
RP0 Healthy 4003008 2302524 (58%) 1700484 (42%) 3043872 (76%)
CPU Utilization
Slot CPU User System Nice Idle IRQ SIRQ IOwait
RP0 0 5.60 10.80 0.00 75.00 0.00 0.10 8.50
1 8.10 11.81 0.00 66.66 0.00 0.20 13.21
2 4.69 9.49 0.00 80.81 0.00 0.19 4.79
3 4.80 10.20 0.00 79.30 0.00 0.10 5.60
4 3.70 3.20 0.00 92.90 0.00 0.00 0.20
5 1.09 2.99 0.00 95.00 0.00 0.09 0.79
6 20.00 33.10 0.00 46.90 0.00 0.00 0.00
7 0.00 0.00 0.00 100.00 0.00 0.00 0.00
Router#
Eine hohe CPU-Auslastung in einem modularen Cisco IOS-XE-Router kann bei der Route Processor- (RP), Embedded Service Processor- (ESP) oder SPA Interface Processor- (SIP)-Karte einen hohen CPU-Zustand aufweisen. Mithilfe dieser Befehle kann ermittelt werden, ob der Zustand "Hohe CPU" mit einer anderen Karte im Gerät zusammenhängt:
ios_xe_modular_router#show platform resources
**State Acronym: H - Healthy, W - Warning, C - Critical
Resource Usage Max Warning Critical State
----------------------------------------------------------------------------------------------------
RP0 (ok, active) H
Control Processor 11.62% 100% 90% 95% H
DRAM 1730MB(45%) 3783MB 90% 95% H
ESP0(ok, active) H
Control Processor 19.59% 100% 90% 95% H
DRAM 616MB(65%) 946MB 90% 95% H
QFP H
TCAM 8cells(0%) 65536cells 45% 55% H
DRAM 79212KB(30%) 262144KB 80% 90% H
IRAM 9329KB(7%) 131072KB 80% 90% H
SIP0 H
Control Processor 2.30% 100% 90% 95% H
DRAM 280MB(60%) 460MB 90% 95% H
* Je nach Cisco IOS-Version kann QFP die Prozessorauslastung beinhalten. Andernfalls müssen Sie die Nutzung des QFP-Datenpfads der Show-Plattform-Hardware erfassen.
Eine gute Referenzanleitung für ASR1k finden Sie unter Fehlerbehebung bei hoher CPU-Auslastung auf Routern der Serie ASR 1000.
Hinweis: Befehle variieren manchmal je nach Plattform und Version. Suchen Sie in einigen Fällen nach der Dokumentation zur jeweiligen Plattform.
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
1.0 |
23-Oct-2024 |
Erstveröffentlichung |