Inhoud

Inleiding

Dit document beschrijft de redenen waarom er een hoog CPU-gebruik voor Catalyst 9800 wordt verwacht als het om het dataplane gaat.

Gebruikte componenten

- 9800-CL of 9800-L

Achtergrondinformatie

De 9800-CL en 9800-L hebben geen hardware-dataplane verzendchip, in tegenstelling tot de 9800-40 en 9800-80. Daarom wordt het dataplane geëmuleerd door een softwareproces (dat op CPU loopt).

Een bijzonderheid van deze software nagebootste dataplane is dat het dataplane-proces bijna altijd een CPU-kern op 100% gebruikt, omdat het enige werk is om constant de netwerkinterface te peilen om te zien of een pakket is aangekomen, zelfs wanneer er weinig tot geen netwerkverkeer is.

Symptomen

Catalyst 9800 kan soms een hoog CPU-gebruik op bepaalde CPU-kernen weergeven. Het is heel belangrijk om te weten of het echt een hoog CPU software probleem is of een dataplane symptoom dat je kunt negeren.

De 9800 web UI-startpagina heeft een CPU-trendwidget die u het gebruik van elke CPU-kern laat zien. Die widget laat ook zien waaraan de CPU-kern is gewijd.

In dit voorbeeld, kunt u een 9800-CL medium OVA (niet hoge doorvoersnelheid) geïmplementeerd die 4 besturingsplane kern en 2 dataplanes cores heeft.

In dit geval, als kern 4 en 5 hoog gebruik tonen, kunt u het negeren.

CPU-gebruik widget op de 9800 web UI

In de CLI toont de opdracht platform software cpu alloc, u de rol die is toegewezen aan elke CPU-kern (zoals in de vorige web UI widget).

De opdracht toont proces cpu platform gesorteerd toont u het CPU gebruik van elke kern en de hoogste processen.

Het proces ucode_pkt_PPE0 is het softwareproces dat het dataplane nabootst en daarom kan dat proces van de lijst van processen worden genegeerd die tot het gebruik van cpu bijdragen.

De 9800-L wijst de laatste 5 CPU-kernen statisch toe aan het dataplane. Meestal is het slechts kern 7 die een hoge benutting laat zien (en het wordt verwacht) vanwege het ucode_pkt_PPE0 proces dat erop draait.

Hier is een voorbeeld van een kleine 9800-CL OVA waar kern 2 en 3 zijn gewijd aan het dataplane.

Het proces ucode_pkt_PPE0 vertoont een zeer hoge benuttingsgraad, maar dit is normaal en verwacht zelfs wanneer er weinig netwerkverkeer plaatsvindt.

myc9800-CL#show processes cpu platform sorted

CPU utilization for five seconds:  4%, one minute:  5%, five minutes:  6%

Core 0: CPU utilization for five seconds:  2%, one minute:  2%, five minutes:  1%

Core 1: CPU utilization for five seconds:  2%, one minute:  2%, five minutes:  2%

Core 2: CPU utilization for five seconds:  2%, one minute:  1%, five minutes:  2%

Core 3: CPU utilization for five seconds: 99%, one minute: 99%, five minutes: 99%

Pid    PPid    5Sec    1Min    5Min  Status        Size  Name

--------------------------------------------------------------------------------

20268   19784     99%     99%     99%  S           271872  ucode_pkt_PPE0

28292    8568      1%      1%      1%  S          1087088  linux_iosd-imag

19801   19314      1%      1%      1%  S           250064  fman_fp_image

32539   32538      0%      0%      0%  S             1692  inet_gethost

32538   31946      0%      0%      0%  S              364  inet_gethost

32507   29493      0%      0%      0%  S             5592  confd-startup.s

Hoe het dataplane-gebruik te verifiëren

Mogelijk vraagt u zich af hoe u kunt controleren of Catalyst 9800 is overweldigd door netwerkverkeer als het CPU-gebruik van het dataplane altijd hoog is. Er zijn specifieke widgets en CLI-opdrachten voor dit.

Ga in de Web UI naar Monitor->System->CPU-gebruik. Rechts heb je Datapath-gebruik.

De belangrijkste metriek is PP in de vorm van een percentage. In dit voorbeeld, is de datapath 99.56% nutteloos en is daarom logisch gezien 0.44% bezig met het proces van netwerkpakketten, die zeer laag is.

PP staat voor Packet Processing, RX toont tijd die wordt besteed aan het ontvangen van verkeer en ATM-tijd die wordt besteed aan het verzenden van verkeer. Inactief is in principe het tegenovergestelde van PP (100% - PP), dat is de tijd die het dataplane doorbrengt met wachten op iets te doen.

Datapath-gebruik