Inhalt

Einleitung

Voraussetzungen

Anforderungen

Verwendete Komponenten

Hintergrundinformationen

Symptome für eine hohe QFP/CPU-Auslastung

Kontrollebene (CPU) - IOSd

Kontrollebene - Kernel (CPU)

Datenebene (QFP)

Gesichtete potenzielle Protokolle

Informationen, die das TAC für die erste Triage benötigt

Hohe CPU-/QFP-Nutzung

Allgemeine Schritte zur Fehlerbehebung

Informationen zur hohen CPU-Auslastung auf Cisco IOS-XE-Routern

Grundlegendes zu High QFP auf Cisco IOS-XE-Routern

Hohe CPU/QFP-Leistung auf Cisco IOS-XE-Routern (ISR4300/4200/4400/4600 Serie, Cat8200/8300/8500, CSR1000v, CAT8000v )

Hohe CPU-Auslastung auf modularen Cisco IOS-XE-Routern (ASR1k-Serie)

Einleitung

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.

Voraussetzungen

Anforderungen

Cisco empfiehlt, dass Sie über Grundkenntnisse in diesen Themen verfügen:

- Grundkenntnisse der Paketweiterleitungsarchitektur Cisco IOS®-XE

- Grundlegende Funktionen der Packet Trace-Funktion

Verwendete Komponenten

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.

Hintergrundinformationen

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:

- Irgendetwas läuft schief auf dem Gerät (d. h. der Prozess funktioniert nicht wie erwartet, potenzielles Sw-Problem) oder in der Netzwerkumgebung (d. h. Punkt-Datenverkehr, Schleifen).

- Erreichen der Hardwarebeschränkung des Geräts (d. h. zu viel Datenverkehr/Funktionen werden auf dem Gerät ausgeführt)

Es ist wichtig, die Ursache für die hohe Komponentenauslastung zu ermitteln, um die richtige Vorgehensweise zur Lösung des Problems zu bestimmen.

Symptome für eine hohe QFP/CPU-Auslastung

Sie können mithilfe von Überwachungstools oder mithilfe der folgenden Befehle überprüfen, ob eine hohe CPU oder ein QFP vorliegt:

Kontrollebene (CPU) - IOSd

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).

Kontrollebene - Kernel (CPU)

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.

Datenebene (QFP)

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.

Gesichtete potenzielle Protokolle

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%).

Informationen, die das TAC für die erste Triage benötigt

- Ausgabe dieser Befehle bei Beobachtung eines hohen CPU-Verhaltens:

- show clock

- show version

- Schauspiel

- Prozess-CPU sortiert anzeigen

- Prozess-CPU-Verlauf anzeigen

- Plattformressourcen anzeigen

- show plattform hardware qfp aktive datapath auslastung zusammenfassung

- show logging

- Netzwerktopologie.

- Diagramme zum CPU/QFP-Nutzungsverlauf.

- Bereitstellung zusätzlicher Informationen im Detail, z. B. aktuelle Netzwerk- oder Konfigurationsänderungen, erwartete Datenverkehrsrate/-flüsse

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.

Hohe CPU-/QFP-Nutzung

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.

Allgemeine Schritte zur Fehlerbehebung

1. Identifizieren Sie, ob das Problem auf der Kontroll- (CPU) oder Datenebene (QFP) liegt.

2. Identifizieren Sie den angegriffenen Prozess über bestimmte Befehle.

3. Führen Sie basierend auf dem Prozessnamen eine Websuche für diesen Prozess durch:

- Konzentrieren Sie sich darauf, diesen Prozess mit einer bekannten Funktion/Konfiguration abzugleichen.

- Überprüfen Sie, ob ein Softwarefehler vorliegt, der mit dem Prozessnamen und -verhalten übereinstimmt. Führen Sie, falls vorhanden, Workaround oder Software-Upgrade auf eine feste Version durch.

4. Anhand von CPU/QFP-Diagrammen kann der genaue Zeitpunkt ermittelt werden, zu dem die CPU/QFP ihre Auslastung erhöht. Wenn sie mit einer kürzlich vorgenommenen Änderung übereinstimmt, setzen Sie die ursprüngliche Konfiguration bzw. Softwareversion zurück, und überprüfen Sie die Ergebnisse.

5. Wenn die Websuche keine nützlichen Ergebnisse liefert oder Sie glauben, dass eine Funktion falsch funktioniert, öffnen Sie ein TAC-Ticket mit den folgenden Informationen:

- Showtech

- Erfasste Befehle (siehe Informationen, die das TAC für die erste Triage benötigt).

- Versuchen Sie, den Zeitpunkt abzugleichen, an dem das Problem mit einer bestimmten Konfigurationsänderung begann, und fügen Sie diese Informationen beim Öffnen des TAC-Tickets ein.

- Wenn das Problem auf der Datenebene liegt: Geben Sie die Netzwerktopologie, die erwartete Benutzeranzahl und die typische Datenverkehrsrate an, die durch das Gerät fließt.

- Wenn verfügbar, geben Sie das Diagramm des CPU/QFP-Nutzungsverlaufs an.

Informationen zur hohen CPU-Auslastung auf Cisco IOS-XE-Routern

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:

- Ein oder mehrere Prozesse, die eine hochintensive Aufgabe zu erfüllen haben.

- Ein oder mehrere Prozesse funktionieren nicht wie erwartet.

- Kontrollebene empfängt und verarbeitet Pakete, die von der Datenebene gesendet werden

Einige Plattformen haben mehrere allgemeine CPUs, die diese Regeln einhalten:

- Wenn der Cisco IOS-XE-Router modular ist (d. h. mehrere Karten akzeptiert, z. B. Routingprozessor, Embedded Service Processor, SPA Interface Processor), stehen mehrere CPUs für den Betrieb der Kontrollebene zur Verfügung, und für jede der Karten eine allgemeine CPU.

- Wenn der Cisco IOS-XE-Router ein integrierter ist und nur Servicemodule oder Schnittstellenkarten akzeptiert, verfügt der Router über eine einzige (virtuelle oder physische) Allzweck-CPU, die als Teil des Routingprozessors gilt (siehe Ausgabe mit Plattformressourcen).

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.

- Im Fall der ISR4000-Serie finden Sie Informationen unter Implementation Performance License for Integrated Service Router 4000 (Implementierungslizenz für Integrated Service Router 4000), in der die Diagramme für die verschiedenen CPU-Verteilungen unter den vorhandenen Modellen dargestellt sind.

- Wenn virtuelle Plattformen wie Cisco CSR1000v und Cisco CSR8000v auf Vorlagen basieren, sind die meisten vCPUs standardmäßig der Datenebene zugeordnet. Weitere Informationen finden Sie unter Konfigurieren der vCPU-Verteilung über die Daten-, Kontroll- und Serviceebenen sowie im Cisco Catalyst 8000V Edge Software Installations- und Konfigurationshandbuch.

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.

Grundlegendes zu High QFP auf Cisco IOS-XE-Routern

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:

- QFP verarbeitet zu viel Netzwerkverkehr (Pakete pro Sekunde).

- QFP mit Verarbeitung von hochintensiven Merkmalen.

- Eine Kombination aus Paketen pro Sekunde + hochintensiven Funktionen haben einen größeren Einfluss auf die QFP-Nutzung.

- Mikrocode verarbeitet etwas auf die falsche Weise.

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.

Hohe CPU/QFP-Leistung auf Cisco IOS-XE-Routern (ISR4300/4200/4400/4600 Serie, Cat8200/8300/8500, CSR1000v, CAT8000v )

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#

Hohe CPU-Auslastung auf modularen Cisco IOS-XE-Routern (ASR1k-Serie)

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.