So beheben Sie High Dataplane CPU

So beheben Sie High Dataplane CPU

543002
Created On 09/25/18 18:55 PM - Last Modified 03/26/21 16:40 PM


Symptom


A Die Anzahl der Faktoren kann dazu führen, dass die CPUs der Datenebene sprunghaft ansteigen oder kontinuierlich hoch laufen: ein plötzlicher Anstieg aufgrund der Implementierung eines neuen Dienstes oder einer neuen Ressource oder ein Aufbau im Laufe der Zeit aufgrund hinzugefügter verbundener Netzwerke, Segmente und Hosts. Diese Faktoren und mehr können zu einer Erhöhung der Paketrate, der Paketpufferauslastung oder einer großen Anzahl neuer Verbindungen pro Sekunde führen, die dazu führen, dass die Datenebene CPU ein kritisches Niveau erreicht.

Erfahren Sie, wie Sie hohe Datenebenen CPU beheben. Dieser Artikel zeigt einige Möglichkeiten, die tatsächliche Auslastung der Datenebene zu überprüfen und die potenziellen Auswirkungen auf Ihr Netzwerk zu ermitteln.

Ein Verständnis der Auswirkungen der hohen Datenebene CPU ist wichtig: Eine hohe CPU Datenebenennutzung gibt möglicherweise keinen unmittelbaren Grund zur Sorge, aber wenn Sie sich bewusst sind, was hohe und mögliche Folgen verursacht, CPU können Sie angemessen reagieren. 

Mehrere Faktoren, die identifiziert werden müssen, bevor Maßnahmen ergriffen werden:

  • Ist einige, alle oder kein Verkehr durch die firewall betroffenen?
  • Erleben Nutzer hohen Latenz, und wenn ja, wirkt Latenz der gesamte Datenverkehr oder nur bestimmte Anwendungen?
  • Wenn Probleme gemeldet werden, werden diese Berichte mit bestimmten Spitzenzeiten des Tages, in regelmäßigen Abständen oder in völlig zufälligen Momenten zeitgleich?


Der erste Schritt besteht darin, zu isolieren, wo das Leistungsproblem auftritt:

  • Datenebene ( DP ) CPU
  • Paketpuffer
  • Sitzung
  • Management-Ebene ( MP )


Resolution


So identifizieren Sie hohe Datenebenen CPU

Wenn ein Kunde ein Leistungsproblem meldet, generieren Sie eine technische Supportdatei, während das Problem auftritt. Suchen Sie im dp-Monitor-Protokoll nach der Zeichenfolge "---panio" (diese Informationen werden alle 10 Minuten protokolliert) oder führen Sie den Befehl "Resource-Monitor" anzeigen aus dem, um die CLI DP Ressourcennutzung anzuzeigen.

Show-Ressourcenmonitor ausgeführt


Dieser Befehl kann verwendet werden, um die Verwendung von Datenebenen zu CPU überprüfen. Fügen Sie einen Zeit-Operator, um einen Zeitrahmen zu reflektieren, die, den Sie überprüfen möchten.

  • 'Sekunde' zeigt die letzten 60 Sekunden der CPU Nutzung in Schritten pro Sekunde an
  • "Minute" zeigt den letzten 60 Minuten in Minuten-Schritten und so weiter
  • Wenn keine Zeit-Operator verwendet wird, alle Ansichten werden in verzeichnet eine lange Ausgang

> zeigen laufende
Ressourcenmonitor-> Tag-Überwachungsstatistiken
> Stundenüberwachungsstatistiken pro Stunde
> Ingress-Backlogs zeigen Statistiken
> Minuten-Überwachungsstatistiken pro Minute
> zweite Überwachungsstatistiken pro Sekunde >
Wochenüberwachungsstatistiken


Die tatsächliche Ausgabe sieht ähnlich aus, kann aber je nach Anzahl der Datenebenen und Kerne, die Ihr System hat, geringfügig abweichen.

> zeigen den ausführenden Ressourcenmonitor

DP dp0:

Ressourcenüberwachung Sampling-Daten (pro Sekunde):

Dieser erste Abschnitt zeigt CPU die Nutzung durch Prozesse, die auf der Datenebene ausgeführt werden.

CPU Belastungsstichprobe nach Gruppen:
flow_lookup : 0%
flow_fastpath : 0% flow_slowpath :
0% flow_forwarding :
0% flow_mgmt :
0% flow_ctrl :
1% nac_result :
0% flow_np :
0% dfa_result :
0% module_internal :
0% aho_result :
0% zip_result :
0% pktlog_forwarding :
0%
lwm : 0%
flow_host : 1%

Dieser Teil der Ausgabe zeigt die Nutzung einzelner Kerne auf der Datenebene.
Viele Kerne, die regelmäßig 75 % übertreffen, rechtfertigen eine Untersuchung.


CPULast (%) während der letzten 60 Sekunden:
Kern 0 1 2 3 4 5 6 7 8 9 10 11
0 39 47 38 46 73 81 73 81 82 88 83
0 39 46 38 45 73 82 73 82 82 89 82
0 39 46 39 45 7 3 81 73 81 83 83
0 38 52 37 50 71 81 71 80 82 98 82
0 40 46 39 45 74 82 74 82 83 89 83
0 40 50 39 49 74 85 74 8 4 83 90 83
0 39 46 38 45 72 81 72 81 81 81
0 42 52 41 50 75 86 75 86 84 91 84
0 42 76 79 85 75 10075 1001001 000 85 >>> gibt aktuelles HochCPU
0 44 51 43 50 78 85 78 86 86 91 86 0
42 51 41 50 76 86 76 86 85 92 85
0 43 53 43 52 77 89 77 89 86 93 an  86
0 38 46 37 45 71 81 72 81 81 88 81
0 42 50 41 50 76 85 76 85 85 90 85
... Schnitt für Kürze

In diesem Abschnitt wird die

Sitzungstabellenauslastung angezeigt, d. h. die maximale Anzahl aktiver Sitzungen, die von der Plattform unterstützt werden.                  Jeder Wert über 80% rechtfertigt eine Untersuchung.

Ressourcennutzung (%) während der letzten 60 Sekunden:
Sitzung:
0 0 0 0 0 0 0 0 0 0 0 0 0


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


Die nächsten 3 Abschnitte zeigen die Paketpufferauslastung.Paketpuffer werden verwendet, um sicherzustellen, dass keine Pakete verloren gehen, während ein vorheriges Paket noch von einem Kern oder Prozess verarbeitet wird. Jeder Wert über 80% muss untersucht werden.

Paketpuffer: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0





0



  
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Paketdeskriptor (on-chip):
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
2


Dinge, die in der Ausgabe überprüft werden müssen:

  1. Überprüfen Sie die CPU Last in den letzten 60 Sekunden. Wenn eine Zahl bei oder nahe 100 ist, ist CPU wahrscheinlich hoch die Ursache für das Leistungsproblem.
  2. Überprüfen Sie die Abschnitte "Paketpuffer" und "Paketdeskriptor". Wenn eine Zahl bei oder nahe 100 liegt, wird das Problem wahrscheinlich dadurch verursacht, dass keine Paketpuffer mehr vorhanden sind.
  3. Überprüfen Sie den Sitzungsabschnitt. Wenn eine Zahl nahe oder über 80 liegt, ist das Leistungsproblem höchstwahrscheinlich sitzungsbezogen.


Mehrere Befehle zur Verfügung, die helfen können erkennen, warum bestimmte Messungen oberhalb der Schwelle im Ressourcenmonitor sind:

Sitzungsinformationen zeigen


Gibt alle Daten aus, die für die Unterstützung der Sitzungen relevant sind, wie viele aktuell aktiv sind und informiert Sie über die Paketrate, die neue Verbindungseinrichtungsrate und den Durchsatz. Wenn einer dieser Parameter außergewöhnlich hoch ist, können sie dazu führen, dass die Datenebene CPU ansteigt.

> zeigen Sitzungsinformationen

target-dp: *.dp0
--------------------------------------------------------------------------------
Anzahl der unterstützten Sitzungen: 262142
Anzahl der aktiven Sitzungen: 3 < If this figure rises to the level of the supported sessions,
Anzahl der aktiven TCP Sitzungen: 0 die Plattform erreicht die maximale Kapazität.
Anzahl der aktiven UDP Sitzungen: 1
Anzahl der aktiven ICMP Sitzungen: 0 Anzahl der aktiven
BCAST Sitzungen: 0 Anzahl der aktiven
MCAST Sitzungen: 0 Anzahl der aktiven
Vorhersagesitzungen: 0
Sitzungstabellenauslastung: 0%
Anzahl der seit dem Booten erstellten Sitzungen: 332481
Paketrate: 28/s Eine ungewöhnliche und plötzlich hohe Paketrate könnte auf einen DoS-Angriff hinweisen.
Durchsatz: 13 kbps
Neue Verbindungs-Establish-Rate: 0 cps
-------------------------------------------------------------------------------- Session

Timeout Wenn Timeoutwerte zu aggressiv oder zu entspannt sind, könnten dem System die Ressourcen ausgehen.
TCP Standardtimeout: 3600 Sekunden
TCP Sitzungstimeout vor SYN-ACK Erhalt: 5 Sekunden
TCP Sitzungstimeout vor 3-Wege-Handshake: 10 Sekunden
TCP halbgeschlossenes Sitzungstimeout: 120 Sekunden
TCP Sitzungstimeout in TIME_WAIT: 15 Sekunden
TCP Sitzungszeit out für nicht überprüft RST : 30 secs
UDP Standardtimeout: 30 secs
ICMP Default Timeout: 6 secs
Other default IP timeout: 30 secs
Captive Portal session timeout: 30 secs
Session timeout in discard state:
TCP : 90 secs, UDP : 60 Sek., Andere IP Protokolle: 60 Sekunden
-------------------------------------------------------------------------------- Sitzung
beschleunigte Alterung: True
Wenn die beschleunigte Alterung deaktiviert wurde, bleiben einige Sitzungen länger als nötig in der Sitzungstabelle aktiv
und nehmen Ressourcen in Anspruch.

Beschleunigte Alterungsschwelle: 80 % der Auslastung
Skalierungsfaktor: 2 X
--------------------------------------------------------------------------------
Sitzungseinrichtung Wenn einer dieser Schritte zur
Fehlerbehebung deaktiviert und nicht wieder aktiviert wurde, können sie
zusätzliche Ressourcen verbrauchen, um fehlerhafte Pakete zu überprüfen, die andernfalls
verworfen würden.

TCP - SYN Nicht-erstes Paket ablehnen: True
Hardware Session-Auslagerung: True
IPv6 Firewalling: True
Strict / TCP IP prüfsumme: True
ICMP Unreachable Packet Rate: 200 pps
-------------------------------------------------------------------------------- Application
trickling scan parameter:
Timeout, um Anwendungs-Tricking zu bestimmen: 10 Sekunden
Ressourcenauslastungsschwelle zum Starten des Scans: 80%
Scan-Skalierungsfaktor über reguläres Altern: 8
--------------------------------------------------------------------------------
Sitzungsverhalten, wenn das Ressourcenlimit erreicht ist: Drop
Zeigt das Verhalten der firewall
Ressource an.

--------------------------------------------------------------------------------
Pcap-Token-Bucket-Rate : 10485760
-------------------------------------------------------------------------------- Max
ausstehende Mcast-Pakete in der Warteschlange pro Sitzung : 0
--------------------------------------------------------------------------------

 

Debuggen von Dataplane Pool Statistiken

Gibt den Status aller Puffer zurück, die vom System verwendet werden, und deren Status.

  • Die Zahl auf der linken Seite zeigt wieviel Puffer noch verfügbar ist
  • Die Zahl auf der rechten Seite zeigt die Gesamtgröße
  • Wenn die Nummer auf die linke auf 0 sinkt, ist der Puffer leer.

> Dataplane Pool Statistiken zu debuggen

Hardware Pools
[ 0] Paketpuffer : 57223/57344 0x8000000030c00000
[ 1] ArbeitswarteschlangeEinträge : 229315/229376 0x8000000037c00000
[ 2] Ausgabepuffer : 1007/1024 0x800000000fc00000
[ 3] Ergebnis : DFA 3995/4000 0x8000000039800000
[ 4] Timer Puffer : 4096/4096 0x8000000039be8000
[ 5] PAN_FPA_LWM_POOL : 1024/1024 0x800000000fd00000
[ 6] Befehle : ZIP 1023/1024 0x800000000fd40000
[ 7] PAN_FPA_BLAST_PO : 1024/1024 0x800000000ff40000

SoftwarePools
[ 0] Softwarepaketpuffer 0 ( 512): 32767/32768 0x8000000043b2a680
[ 1] Softwarepaketpuffer 1 ( 1024): 32768/32768 0x8000000044b4a780
[ 2] Softwarepaketpuffer 2 ( 2048): 81920/81920 0x8000000046b6a880
[ 3] Softwarepaketpuffer 3 (33280): 204 80/20480 0x8000000050bba980 [
4] Software-Paketpuffer 4 (66048): 304/304 0x80000000795cea80
[ 5] Shared Pool 24 ( 24): 560000/560000 0x800000007a8f6780 [
6] Shared Pool 32 ( 32): 530000/530000 0x800000007b7eaa80
[ 7] Shared Pool 40 ( 40): 70000/70000 0x800000007ca1cf00
[ 8] Shared Pool 192 ( 192): 1269999/1270000 0x800000007cd0cf80
[ 9] Shared Pool 256 ( 256): 140000/140000 0x800000008ba70880
[10] ZIP Ergebnisse ( 184): 1024/1024 0x80000000a1827300
[11] CTD AV Block ( 1024): 32/32 0x80000000be43d380
[12] Regex Ergebnisse (11544): 8000/8000 0x80000000be466100
[13] SSH Handshake State ( 6512): 64/64 0x80000000c580c680
[14] SSH State ( 3248): 512/512 0x80000000c5872480
[15] TCP Host-Verbindungen ( 176): 15/16 0x80000000c5a08e80

 

Zähler globale Filter Delta ja zeigen

Gibt ab dem zweiten Mal, wenn der Befehl ausgegeben wird, eine Momentaufnahme der globalen Leistungsindikatoren zurück, die während des Zeitrahmens zwischen der aktuellen und vorherigen Iteration ausgelöst wurden, und kann eine ungewöhnliche Anzahl verworfener Pakete verfügbar machen.


 

> Counter Global Filter Delta ja anzeigen

Globale Zähler:
Verstrichene Zeit seit der letzten Probenahme: 2.981 Sekunden

Name Wert Rate Schweregrad Kategorie Beschreibung
--------------------------------------------------------------------------------
pkt_recv 89 29 Infopaket pktproc Pakete
empfangen pkt_recv_zero 87 29 Infopaket pktproc Pakete von QoS 0
pkt_sent 3 1 Infopaket pktproc Pakete gesendet
session_allocated 1 0 Info-Sitzung Ressource Sitzungen
zugewiesen session_freed 1 0 Info-Sitzung Ressource Sitzungen freigegeben
session_installed 1 0 Info-Sitzung Ressource Sitzungen
installiert flow_arp_pkt_rcv 83 27 Info-Flow-arp-Pakete ARP empfangen flow_host_pkt_rcv 2 0
Info-Flow mgmt Pakete von Der Steuerungsebene
empfangen flow_host_pkt_xmt 2 0 Info-Flow mgmt Pakete an Kontrollebene
übertragen flow_host_service_allow 2 0 Info-Flow mgmt Geräte-Management-Sitzung erlaubt
appid_ident_by_icmp 1 0 info appid pktproc Anwendung identifiziert durch icmp Typ
dfa_sw 2 0 info dfa pktproc Die Gesamtzahl der dfa Match mit Software
aho_sw 1 0 info aho pktproc Die Gesamtnutzung der Software für AHO
ctd_ pkt_slowpath 2 0 info ctd pktproc Pakete, die von slowpath pkt_flow_np 87 29 info packet resource verarbeitet wurden
Pakete eingegeben Modulflussstufe np
pkt_flow_host 2 0 Infopaketressource Pakete eingegeben Modulfluss-Bühne Host
-------------------------------------------------------------------------------- Angezeigt
ekrate Zähler: 16
--------------------------------------------------------------------------------


Einige gängige Zähler erklärten:

ZählerBeschreibung
pkt_recvPaket empfangen
session_allocatedSitzungszuordnung
flow_ipfrag_recvipfrag-Empfangsrate
dfa_swdfa matching von sw
dfa_fpgadfa matching von fpga
ctd_pkt_slowpathpkt verarbeitet von ctd slowpath
aho_swaho von sw
aho_fpgaaho von fpga
log_traffic_cntAnzahl der Datenverkehrsprotokolle
flow_fwd_l3_ttl_zeroPakete verworfen: IP TTL
fpga_pktpkt halten durch fpga Anfrage.
Hinweis: Dies ist kein kumulativer Leistungsindikator, sondern stellt dar, wie viele Pakete derzeit warten auf FPGA .


    System-Statistiken-Sitzung anzeigen

    Zeigt aggregierte Paketrate und Durchsatzwerte aller Datenebenen in einer Live-Dashboard-Manier an, die automatisch aktualisiert wird


    Systemstatistik: ('q' zu beenden, 'h' für Hilfe)

    Gerät ist oben : 0 Tag 2 Stunden 34 Min. 57 sec
    Paketrate : 32/s
    Durchsatz : 92 Kbit/s
    Insgesamt aktive Sitzungen : 14 Aktive Sitzungen : 8 Aktive Sitzungen : 4 Aktive Sitzungen :
    TCP
    UDP
    ICMP 2

    Umschalten, um "Top 20 Anwendungen" anzuzeigen, indem Sie 'a' und zurück drücken, indem Sie 's' drücken

    Top 20 Anwendungsstatistiken: ('q' zu beenden, 'h' für Hilfe)

    Virtuelles System: vsys1
    Anwendungssitzungen Pakete Bytes
    -------------------------------- ---------- ------------ ------------
    ssl 349 47051 53368023
    firefox-update 4 32503 31679603
    google-base 57 19879 17687367
    ms-Update 30 2513 2413399
    tor 1 715 710161
    Web-Browsing 60 1140 588357
    ping 2920 5840 572320
    windows-push-notifications 57 81 9 266737
    apt-get 6 662 260149
    dns 728 1484 185056
    dhcp124 248 86800
    ms-spynet 3 71 45382
    ocsp 9 215 33 311
    google-update 2 28 8624
    ntp 45 90 8100
    ipv6 2 64 5248
    sip 5 52283
    ldap 8 9 2241
    unzureichende Daten 5 13 780
    icmp 6 6 520


    Es ist auch wichtig zu beachten, dass die Art des Datenverkehrs und die Komplexität in der Konfiguration auch die Auslastung erhöhen CPU können. Daher ist es wichtig, das Datenverkehrsmuster zu betrachten, um die potenzielle Anwendung zu verstehen, die die hohe CPU Auslastung verursacht.

    Management-Ebene

    Überprüfen Sie die Ressourcennutzung der Verwaltungsebene, indem Sie entweder im mp-Monitor nach "--- top" suchen.log oder indem Sie den Befehl Systemressourcen anzeigen aus dem CLI ausführen. Unten ist eine Beispielausgabe dieses Befehls:

    >Systemressourcen anzeigen

    top - 03:40:57 bis 20 min, 0 Benutzer, Ladedurchschnitt: 0.00, 0.01, 0.03

    Aufgaben: 116 insgesamt, 1 laufend, 115 schlafend, 0 angehalten, 0 Zombies

    Cpu(s): 1,6%us, 1,3%sy, 0,0%ni, 96,2%id, 0,5%wa, 0,0%hi, 0,4%si, 0,0%st

    Mem: 3635080k gesamt, 2327864k verwendet, 1307216k frei, 37772k Puffer

    Swap: 2007992k total, 0k gebraucht, 2007992k frei, 1871932k zwischengespeichert

     

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND

    1837 Wurzel 15 -5 18036 3508 2032 S 8 0.1 0:35.23 sysd

    1 Wurzel 20 0 1768 560 488 S 0 0.0 0:00.75 init

    2 Wurzel 20 0 0 0 S 0 0 0 0 0:00.00 kthreadd

    3 root RT 0 0 0 0 0 0 S 0.0 0:0.00 Migration/0


    Im Folgenden finden Sie Hinweise darauf, dass die Ressourcennutzung auf der Verwaltungsebene Probleme verursachen kann.

    • %wa in der CPU Zeile ist hoch, dies bedeutet, dass die Verwaltungsebene bei io wartet (in Swap und plattengebunden).
    • Der freie Speicher auf der Swap-Linie ist hoch.
    • CPU für devsrvr-, mgmtsvr- und appweb-Prozesse sind hoch.


    Verkehrsmusteranalyse

    Wenn Datenverkehrsmuster die vermutete Ursache des Leistungsproblems sind, fordern Sie externe Paketerfassungen des Netzwerkdatenverkehrs vom Kunden an. Es wird nicht empfohlen, die Erfassung von selbst durchzuführen, da möglicherweise nicht der gesamte Datenverkehr angezeigt wird, firewall insbesondere wenn der Datenverkehr ausgelagert wird.



    Actions
    • Print
    • Copy Link

      https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClRTCA0&lang=de&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

    Choose Language