Catalyst 4500 Series switches, die de Catalyst 4948 switches omvatten, heeft een geavanceerde pakketverwerkingsmethode voor verkeer met CPU’s. Een veelbesproken probleem is het hoge CPU-gebruik op deze switches. Dit document bevat informatie over de CPU-pakketverwerkingsarchitectuur en toont aan hoe u de oorzaken van een hoog CPU-gebruik bij deze switches kunt identificeren. Het document maakt ook een lijst van een aantal gemeenschappelijke netwerk- of configuratiescenario's die een hoog CPU-gebruik in de Catalyst 4500-serie veroorzaken.
N.B.: Als u op Catalyst 4500/4000 Series switches van Catalyst OS (CatOS) gebaseerde Catalyst 4500/4000, 2948G, 2980G en 4912G Switches van Catalyst 4912G gebruikt IOS-software.
Er zijn geen specifieke vereisten van toepassing op dit document.
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
Catalyst 4500 Series switches
Catalyst 4948 Series switches
N.B.: Dit document is alleen van toepassing op Cisco IOS® software-gebaseerde switches en niet op CatOS-gebaseerde switches.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Voordat u de CPU-pakketverwerkingsarchitectuur en het gebruik van een hoge CPU-functie bekijkt, moet u de verschillende manieren begrijpen waarop op hardware gebaseerde verzendende switches en Cisco IOS-softwaregebaseerde routers de CPU gebruiken. De algemene misvatting is dat een hoog CPU-gebruik de depletie van middelen op een apparaat en de dreiging van een crash aangeeft. Een capaciteitsprobleem is een van de symptomen van een hoog CPU-gebruik op Cisco IOS-routers. Een capaciteitsprobleem is echter vrijwel nooit een symptoom van een hoog CPU-gebruik met op hardware gebaseerde verzendende switches zoals Catalyst 4500. Catalyst 4500 is ontworpen om pakketten in de hardware applicatie-specifieke geïntegreerde schakeling (ASIC) te verzenden en om snelheden te bereiken van maximaal 102 miljoen pakketten per seconde (MPLS).
Catalyst 4500 CPU vervult deze functies:
Beheert geconfigureerde softwareprotocollen, bijvoorbeeld:
Spanning Tree Protocol (STP)
Routing Protocol
Cisco Discovery Protocol (CDP)
Port Aggregation Protocol (PAgP)
VLAN Trunk Protocol (VTP)
Dynamic Trunking Protocol (DTP)
Programmaconfiguratie/dynamische ingangen van de hardware-ASIC’s, bijvoorbeeld:
Toegangscontrolelijsten (ACL’s)
CEF-items
Interne beheer van verschillende componenten, bijvoorbeeld:
Power over Ethernet (PoE) lijnkaarten
Voedingseenheid
Ventilatoreenheid
Beheert de toegang tot de switch, bijvoorbeeld:
Telnet
console
Simple Network Management Protocol (SNMP)
Forwarts pakketten via het softwarepad, bijvoorbeeld:
Op Internetwork Packet Exchange (IPX) gebaseerde pakketten die alleen in het softwarepad worden ondersteund
Maximale fragmentatie van de transmissieeenheid (MTU)
Volgens deze lijst kan een hoog CPU-gebruik resulteren uit het ontvangen of verwerken van pakketten door de CPU. Sommige pakketten die voor proces worden verzonden kunnen essentieel zijn voor de netwerkbediening. Een voorbeeld van deze essentiële pakketten is de eenheid van de Gegevens van het bridge protocol (BPDUs) voor het overspannen van-boomtopologieën. Andere pakketten kunnen echter met de software worden verzonden van het gegevensverkeer. In deze scenario's moeten de switching-ASIC's pakketten naar de CPU’s verzenden voor verwerking:
Packets die naar de CPU worden gekopieerd, maar de oorspronkelijke pakketten worden in de hardware geschakeld
Een voorbeeld is het van gastheer MAC adres leren.
Packets die naar de CPU worden verzonden voor verwerking
Voorbeelden zijn:
Routing Protocol-updates
BPDU’s
Een opzettelijke of onopzettelijke stroom van verkeer
Packets die naar de CPU worden verzonden
Een voorbeeld is pakketten die IPX of AppleTalk routing nodig hebben.
Catalyst 4500 heeft een ingebouwd QoS-mechanisme (Quality of Service) om te onderscheiden tussen typen verkeer die bestemd zijn voor de CPU. Het mechanisme maakt het verschil op basis van Layer 2 (L2)/Layer 3 (L3)/Layer 4 (L4) pakketinformatie. De Supervisor Packet Engine heeft 16 wachtrijen om verschillende typen pakketten of gebeurtenissen aan te kunnen. Afbeelding 1 toont deze wachtrijen. Tabel 1 toont de rijen en de pakkettypen die in elke wachtrij staan. De 16 wachtrijen staan Catalyst 4500 toe om de pakketten in de rij te stellen op basis van het pakkettype of de prioriteit.
Afbeelding 1 - Catalyst 4500 Series van meerdere CPU’s
Wachtrij nummer | Naam wachtrij | Wachtrijen pakketten |
---|---|---|
0 | Esmp | ESMP1-pakketten (interne beheerpakketten) voor de lijnkaart ASIC’s of ander componentbeheer |
1 | Beheer | L2-besturingsplannen, zoals STP, CDP, PAgP, LACP2 of UDLD3 |
2 | Host Learning | Frames met onbekende bron MAC-adressen die naar de CPU worden gekopieerd om de L2-verzendingstabel te bouwen |
3, 4, 5 | L3 FWD Highest, L3 FWD Hoog/Gemiddeld, L3 FW Lage | Packets die in software moeten worden doorgestuurd, zoals GRE4-tunnels Als het ARP5 onopgelost is voor het IP-adres van de bestemming, worden pakketten naar deze wachtrij verzonden. |
6, 7, 8 | L2 FWD Highest, L2 FWD Hoog/Gemiddeld, L2 FW Laag | Pakketten die als resultaat van het overbruggen worden doorgestuurd
|
9 10 | L3 RX Hoog, L3 RX Laag | L3 controle vliegtuigverkeer, bijvoorbeeld, routingprotocollen, die voor IP-adressen van CPU’s zijn bestemd, omvatten telnet, SNMP en SSH8. |
11 | RPF-fout | Multicast-pakketten die de RPF9-controle niet hebben gehaald |
12 | ACL-veld (snooping) | Packets die worden verwerkt door de DHCP10-snooping, dynamische ARP-inspectie of IGMP11-snooping |
13 | ACL-logbestand, niet bereikt | Packets die een ACE12 raken met het logsleutelwoord of pakketten die wegens een ontkenning in een uitvoer ACL of het gebrek van een route naar de bestemming werden gedropt Deze pakketten vereisen de productie van onbereikbare berichten van ICMP. |
14 | ACL-actieve verwerking | Packets die naar de CPU worden gestraft bij gebrek aan extra ACL-hardwarebronnen, zoals TCAM13, voor security ACL |
15 | MTU fout/ongeldig | Packets die moeten worden gefragmenteerd omdat de grootte van de uitvoerinterface MTU kleiner is dan de grootte van het pakket |
1 ESMP = Zelfs Simple Management Protocol.
2 LACP = Link Aggregation Control Protocol.
3 UDLD = UniDirectional Link Detectie.
4 GRE = generieke routinginsluiting.
5 ARP = Protocol voor adresoplossing.
6 SVI = geschakelde virtuele interface.
7 TTL = Tijd om te leven.
8 SSH = Secure Shell Protocol.
9 RPF = doorsturen van omgekeerd pad
10 DHCP = Dynamic Host Configuration Protocol.
11 IGMP = Internet Group Management Protocol.
12 ACE = toegangscontrole ingang.
13 TCAM = ternaire inhoud adresseerbare geheugen.
Deze rijen zijn aparte rijen:
L2 FWD Highest of L3 FWD Highest
L2 FWD Hoog/Gemiddeld of L3 FWD Hoog/Gemiddeld
L2 FW Laag of L3 Fwd Laag
L3 RX Hoog of L3 RX Laag
Packets worden in deze wachtrijen geplaatst op basis van het QoS-label, dat de DSCP-waarde (gedifferentieerd servicecepunt) van het IP-type (ToS) is. Zo worden pakketten met een DSCP van 63 in de wachtrij geplaatst voor de L3 FWD Highest wachtrij. U kunt de pakketten zien die voor deze 16 wachtrijen in de uitvoer van het tonen platform cpu pakketstatistieken worden ontvangen en gedaald allen opdracht. De uitvoer van deze opdracht is erg lang. Geef de opdracht plattegronden cpu pakketstatistieken uit om alleen de niet-nulgebeurtenissen te tonen. Een alternatieve opdracht is de opdracht voor het tonen van platform. Gebruik alleen de opdracht plattegronden van het show-platform als u Cisco IOS-softwarerelease 12.1(11)EW of eerder gebruikt. Deze opdracht is sindsdien afgekeurd. Deze oudere opdracht maakte echter deel uit van de opdracht show tech-support in Cisco IOS-softwarereleases die eerder zijn dan Cisco IOS-softwarerelease 12.2(20)EWA.
Gebruik het opdracht voor alle probleemoplossing van het platform cpu-pakketstatistieken.
Switch#show platform cpu packet statistics all !--- Output suppressed. Total packet queues 16 Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 0 0 0 0 0 Control 48 0 0 0 0 Host Learning 0 0 0 0 0 L3 Fwd High 0 0 0 0 0 L3 Fwd Medium 0 0 0 0 0 L3 Fwd Low 0 0 0 0 0 L2 Fwd High 0 0 0 0 0 L2 Fwd Medium 0 0 0 0 0 L2 Fwd Low 0 0 0 0 0 L3 Rx High 0 0 0 0 0 L3 Rx Low 0 0 0 0 0 RPF Failure 0 0 0 0 0 ACL fwd(snooping) 0 0 0 0 0 ACL log, unreach 0 0 0 0 0 ACL sw processing 0 0 0 0 0 MTU Fail/Invalid 0 0 0 0 0 Packets Dropped by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 0 0 0 0 0 Control 0 0 0 0 0 Host Learning 0 0 0 0 0 L3 Fwd High 0 0 0 0 0 L3 Fwd Medium 0 0 0 0 0 L3 Fwd Low 0 0 0 0 0 L2 Fwd High 0 0 0 0 0 L2 Fwd Medium 0 0 0 0 0 L2 Fwd Low 0 0 0 0 0 L3 Rx High 0 0 0 0 0 L3 Rx Low 0 0 0 0 0 RPF Failure 0 0 0 0 0 ACL fwd(snooping) 0 0 0 0 0 ACL log, unreach 0 0 0 0 0 ACL sw processing 0 0 0 0 0 MTU Fail/Invalid 0 0 0 0 0
Catalyst 4500 CPU kent gewichten toe aan de verschillende wachtrijen die in tabel 1 worden weergegeven. De CPU wijst de gewichten toe op basis van belang, of type, en op basis van verkeersprioriteit, of DSCP. De CPU’s leveren de wachtrij op basis van het relatieve gewicht van de wachtrij. Als bijvoorbeeld zowel een controlepakket, zoals een BPDU, als een ICMP-echo-verzoek in behandeling zijn, wordt de CPU-services eerst het controlepakket uitgevoerd. Een buitensporige hoeveelheid verkeer met een lage prioriteit of minder belangrijk verkeer verlaat de CPU niet van de mogelijkheid om het systeem te verwerken of te beheren. Dit mechanisme garandeert dat het netwerk stabiel is, zelfs bij een hoog gebruik van de CPU. Dit vermogen van het netwerk om stabiel te blijven is kritieke informatie die u moet begrijpen.
Er is een ander zeer belangrijk implementatiedetails van Catalyst 4500 CPU pakketverwerking. Als de CPU al onderhoud heeft uitgevoerd aan pakketten of processen met hoge prioriteit, maar meer reservescycli van CPU voor een bepaalde periode heeft, voert de CPU-services de pakketten met lage prioriteit in of voert u achtergrondprocessen van een lagere prioriteit uit. Een hoog CPU-gebruik als gevolg van pakketverwerking met een lage prioriteit of achtergrondprocessen wordt als normaal beschouwd, omdat de CPU voortdurend probeert alle beschikbare tijd te gebruiken. Op deze manier streeft de CPU naar maximale prestaties van de switch en het netwerk zonder dat de stabiliteit van de switch in het gedrang komt. Catalyst 4500 beschouwt de CPU als onderbenut, tenzij de CPU bij 100 procent voor één enkele tijdsleuf wordt gebruikt.
Cisco IOS-softwarerelease 12.2(25)EWA2 en hebben later het CPU-mechanisme voor pakketsnelheidscontrole en -verwerking en accounting verbeterd. Gebruik daarom deze releases op uw Catalyst 4500-implementaties.
Nu u de Catalyst 4500 CPU-pakketverwerkingsarchitectuur en -ontwerp begrijpt, kunt u nog steeds aangeven waarom uw Catalyst 4500 CPU-gebruik hoog is. Catalyst 4500 heeft de opdrachten en gereedschappen die nodig zijn om de basisoorzaak van het hoge CPU-gebruik te identificeren. Nadat u de reden identificeert, kunnen de beheerders één van deze acties uitvoeren:
Correctieve actie-Dit kan configuratie of netwerkwijzigingen omvatten, of de creatie van een verzoek van de Technische Ondersteuning van Cisco voor verdere analyse.
Geen actie-de Catalyst 4500 voert volgens de verwachting uit. De CPU heeft een hoog CPU-gebruik omdat de Supervisor Engine de CPU-cycli maximaliseert om alle benodigde softwarepakketten en achtergrondbanen te kunnen doorsturen.
Verzeker u ervan de reden voor een hoog CPU-gebruik te identificeren, ook al is in alle gevallen geen corrigerende actie nodig. Een hoog CPU-gebruik kan slechts een symptoom zijn van een probleem in het netwerk. Een oplossing voor de oorzaak van dat probleem kan nodig zijn om het CPU-gebruik te verminderen.
Afbeelding 2 toont de methodologie voor het oplossen van problemen die moet worden gebruikt om de grondoorzaak van het gebruik van Catalyst 4500 hoge CPU’s te identificeren.
Afbeelding 2 - Methode voor probleemoplossing bij gebruik met hoge CPU’s op Catalyst 4500 Switches
De algemene stappen voor het oplossen van problemen zijn:
Geef de opdracht CPU-processen uit om de Cisco IOS-processen te identificeren die CPU-cycli verbruiken.
De opdracht "show platform health" uitreiken om de platformspecifieke processen verder te identificeren.
Als het zeer actieve proces K2CpuMan Review is, geeft u het opdracht voor pakketstatistieken op het platform cpu uit om het type verkeer te identificeren dat de CPU raakt.
Als de activiteit niet is veroorzaakt door het K2CpuMan Review-proces, slaat u Stap 4 over en gaat u naar Stap 5.
Identificeer de pakketten die de CPU hebben bereikt met gebruik van de gereedschappen voor probleemoplossing om het verkeer dat naar de CPU is bestemd, indien nodig te analyseren.
Een voorbeeld van de tools voor het oplossen van problemen die moeten worden gebruikt, is de CPU Switched Port Analyzer (SPAN).
Bekijk dit document en de sectie Problemen oplossen bij normale toepassingen met hoge CPU’s voor gemeenschappelijke oorzaken.
Als u de basisoorzaak nog steeds niet kunt identificeren, neemt u contact op met Cisco Technical Support.
De belangrijkste stap is om het CPU-gebruik van uw switch voor uw configuratie en netwerkinstelling te kennen. Gebruik de opdracht Cpu-processen voor het weergeven van processen om het CPU-gebruik te identificeren op de Catalyst 4500-switch. De continue update van het gebruik van CPU van de uitgangswaarde kan nodig zijn wanneer u meer configuratie aan de netwerkinstelling toevoegt of wanneer het patroon van uw netwerkverkeer verandert. Afbeelding 2 geeft deze eis aan.
Deze uitvoer komt van een volledig geladen Catalyst 4507R. De steady-state CPU is ongeveer 32 tot 38 procent, wat nodig is om de beheerfuncties voor deze switch uit te voeren:
Switch#show processes cpu CPU utilization for five seconds: 38%/1%; one minute: 32%; five minutes: 32% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 0 63 0 0.00% 0.00% 0.00% 0 Chunk Manager 2 60 50074 1 0.00% 0.00% 0.00% 0 Load Meter 3 0 1 0 0.00% 0.00% 0.00% 0 Deferred Events !--- Output suppressed. 27 524 250268 2 0.00% 0.00% 0.00% 0 TTY Background 28 816 254843 3 0.00% 0.00% 0.00% 0 Per-Second Jobs 29 101100 5053 20007 0.00% 0.01% 0.00% 0 Per-minute Jobs 30 26057260 26720902 975 12.07% 11.41% 11.36% 0 Cat4k Mgmt HiPri 31 19482908 29413060 662 24.07% 19.32% 19.20% 0 Cat4k Mgmt LoPri 32 4468 162748 27 0.00% 0.00% 0.00% 0 Galios Reschedul 33 0 1 0 0.00% 0.00% 0.00% 0 IOS ACL Helper 34 0 2 0 0.00% 0.00% 0.00% 0 NAM Manager
Vijf-seconden CPU-gebruik wordt uitgedrukt als:
x%/y%
De x% vertegenwoordigt het totale CPU-gebruik en y% vertegenwoordigt de CPU die op het niveau van onderbreken wordt gebruikt. Wanneer u Catalyst 4500 switches voor probleemoplossing gebruikt, dient u alleen de aandacht te vestigen op het totale CPU-gebruik.
De cpu-uitvoer van deze show toont aan dat er twee processen zijn die de CPU gebruiken—Cat4k Mgmt HiPri en Cat4k Mgmt LoPri. Deze twee processen bundelen meerdere platform-specifieke processen die de essentiële beheerfuncties op Catalyst 4500 vervullen. Deze processen procesbesturing vlak evenals gegevenspakketten die software-geschakeld of verwerkt moeten worden.
Om te zien welke platformspecifieke processen de CPU gebruiken in de context van Cat4k Mgmt HiPri en Cat4k Mgmt LoPri, geeft u de opdracht voor de gezondheid van het showplatform uit.
Elk van de platformspecifieke processen heeft een doel/verwacht gebruik van de CPU. Wanneer dat proces zich binnen het doel bevindt, voert de CPU het proces uit in de context met hoge prioriteit. De show verwerkt de opdrachtoutput van cpu die gebruikt wordt onder Cat4k Mgmt HiPri. Als een proces het beoogde/verwachte gebruik te boven gaat, vindt dat proces plaats in de context van lage prioriteit. De show verwerkt de opdrachtoutput van cpu die extra gebruik onder Cat4k Mgmt LoPri. Deze Cat4k Mgmt LoPri wordt ook gebruikt om achtergrondprocessen en andere processen met een lage prioriteit te starten, zoals consistentiecontrole en leesinterfacetellers. Dit mechanisme stelt de CPU in staat om waar nodig processen met hoge prioriteit uit te voeren, en de resterende cycli van inactieve CPU’s worden gebruikt voor processen met lage prioriteit. Het feit dat het beoogde CPU-gebruik in kleine hoeveelheden of een snelle stijging van het gebruik wordt overschreden, duidt niet op een probleem dat nader onderzoek behoeft.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.02 2 1 100 500 0 0 0 1:09 GalChassisVp-review 3.00 0.29 10 3 100 500 0 0 0 11:15 S2w-JobEventSchedule 10.00 0.32 10 7 100 500 0 0 0 10:14 Stub-JobEventSchedul 10.00 12.09 10 6 100 500 14 13 9 396:35 StatValueMan Update 1.00 0.22 1 0 100 500 0 0 0 6:28 Pim-review 0.10 0.00 1 0 100 500 0 0 0 0:22 Ebm-host-review 1.00 0.00 8 0 100 500 0 0 0 0:05 Ebm-port-review 0.10 0.00 1 0 100 500 0 0 0 0:01 Protocol-aging-revie 0.20 0.00 2 0 100 500 0 0 0 0:00 Acl-Flattener e 1.00 0.00 10 0 100 500 0 0 0 0:00 KxAclPathMan create/ 1.00 0.00 10 5 100 500 0 0 0 0:39 KxAclPathMan update 2.00 0.00 10 0 100 500 0 0 0 0:00 KxAclPathMan reprogr 1.00 0.00 2 0 100 500 0 0 0 0:00 TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 0:00 K2CpuMan Review 30.00 10.19 30 28 100 500 14 13 9 397:11 K2AccelPacketMan: Tx 10.00 2.20 20 0 100 500 2 2 1 82:06 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00 K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 0:00 K2AclCamMan stale en 1.00 0.00 10 0 100 500 0 0 0 0:00 K2AclCamMan hw stats 3.00 1.04 10 5 100 500 1 1 0 39:36 K2AclCamMan kx stats 1.00 0.00 10 5 100 500 0 0 0 13:40 K2AclCamMan Audit re 1.00 0.00 10 5 100 500 0 0 0 13:10 K2AclPolicerTableMan 1.00 0.00 10 1 100 500 0 0 0 0:38 K2L2 Address Table R 2.00 0.00 12 5 100 500 0 0 0 0:00 K2L2 New Static Addr 2.00 0.00 10 1 100 500 0 0 0 0:00 K2L2 New Multicast A 2.00 0.00 10 5 100 500 0 0 0 0:01 K2L2 Dynamic Address 2.00 0.00 10 0 100 500 0 0 0 0:00 K2L2 Vlan Table Revi 2.00 0.00 12 9 100 500 0 0 0 0:01 K2 L2 Destination Ca 2.00 0.00 10 0 100 500 0 0 0 0:00 K2PortMan Review 2.00 0.72 15 11 100 500 1 1 0 37:22 Gigaport65535 Review 0.40 0.07 4 2 100 500 0 0 0 3:38 Gigaport65535 Review 0.40 0.08 4 2 100 500 0 0 0 3:39 K2Fib cam usage revi 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib IrmFib Review 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib Vrf Default Ro 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib AdjRepop Revie 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib Vrf Unpunt Rev 2.00 0.01 15 0 100 500 0 0 0 0:23 K2Fib Consistency Ch 1.00 0.00 5 2 100 500 0 0 0 29:25 K2FibAdjMan Stats Re 2.00 0.30 10 4 100 500 0 0 0 6:21 K2FibAdjMan Host Mov 2.00 0.00 10 4 100 500 0 0 0 0:00 K2FibAdjMan Adj Chan 2.00 0.00 10 0 100 500 0 0 0 0:00 K2FibMulticast Signa 2.00 0.01 10 2 100 500 0 0 0 2:04 K2FibMulticast Entry 2.00 0.00 10 7 100 500 0 0 0 0:00 K2FibMulticast Irm M 2.00 0.00 10 7 100 500 0 0 0 0:00 K2FibFastDropMan Rev 2.00 0.00 7 0 100 500 0 0 0 0:00 K2FibPbr route map r 2.00 0.06 20 5 100 500 0 0 0 16:42 K2FibPbr flat acl pr 2.00 0.07 20 2 100 500 0 0 0 3:24 K2FibPbr consolidati 2.00 0.01 10 0 100 500 0 0 0 0:24 K2FibPerVlanPuntMan 2.00 0.00 15 4 100 500 0 0 0 0:00 K2FibFlowCache flow 2.00 0.01 10 0 100 500 0 0 0 0:23 K2FibFlowCache flow 2.00 0.00 10 0 100 500 0 0 0 0:00 K2FibFlowCache adj r 2.00 0.01 10 0 100 500 0 0 0 0:20 K2FibFlowCache flow 2.00 0.00 10 0 100 500 0 0 0 0:06 K2MetStatsMan Review 2.00 0.14 5 2 100 500 0 0 0 23:40 K2FibMulticast MET S 2.00 0.00 10 0 100 500 0 0 0 0:00 K2QosDblMan Rate DBL 2.00 0.12 7 0 100 500 0 0 0 4:52 IrmFibThrottler Thro 2.00 0.01 7 0 100 500 0 0 0 0:21 K2 VlanStatsMan Revi 2.00 1.46 15 7 100 500 2 2 1 64:44 K2 Packet Memory Dia 2.00 0.00 15 8 100 500 0 1 1 45:46 K2 L2 Aging Table Re 2.00 0.12 20 3 100 500 0 0 0 7:22 RkiosPortMan Port Re 2.00 0.73 12 7 100 500 1 1 1 52:36 Rkios Module State R 4.00 0.02 40 1 100 500 0 0 0 1:28 Rkios Online Diag Re 4.00 0.02 40 0 100 500 0 0 0 1:15 RkiosIpPbr IrmPort R 2.00 0.02 10 3 100 500 0 0 0 2:44 RkiosAclMan Review 3.00 0.06 30 0 100 500 0 0 0 2:35 MatMan Review 0.50 0.00 4 0 100 500 0 0 0 0:00 Slot 3 ILC Manager R 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 3 ILC S2wMan Re 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 4 ILC Manager R 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 4 ILC S2wMan Re 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 5 ILC Manager R 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 5 ILC S2wMan Re 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 6 ILC Manager R 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 6 ILC S2wMan Re 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 7 ILC Manager R 3.00 0.00 10 0 100 500 0 0 0 0:00 Slot 7 ILC S2wMan Re 3.00 0.00 10 0 100 500 0 0 0 0:00 EthHoleLinecardMan(1 1.66 0.04 10 0 100 500 0 0 0 1:18 EthHoleLinecardMan(2 1.66 0.02 10 0 100 500 0 0 0 1:18 EthHoleLinecardMan(6 1.66 0.17 10 6 100 500 0 0 0 6:38 ------------- %CPU Totals 212.80 35.63
De show platform Health opdracht geeft veel informatie die alleen relevant is voor een ontwikkelingsingenieur. Als u een groot CPU-gebruik wilt probleemoplossing wilt, zoekt u een hoger nummer in de %CPU-kolom in de uitvoer. Vergeet ook niet om aan de rechterkant van die rij te kijken om het CPU-gebruik van dat proces in de kolommen van 1 minuut en 1 uur gemiddeld %CPU te controleren. Soms houden processen tijdelijk een piekwaarde in maar de CPU niet lang. Een deel van het tijdelijk hoge CPU-gebruik gebeurt tijdens hardwareprogrammering of optimalisatie van de programmering. Een piek in het gebruik van CPU is bijvoorbeeld normaal tijdens de hardwareprogrammering van een grote ACL in de TCAM.
In de opdrachtoutput van het platform in de sectie Begrijp de opdracht van de showprocessen cpu op Catalyst 4500 Switches, gebruiken de Stub-JobEventSchedule en de K2CPuMan Review-processen een hoger aantal CPU-cycli. Tabel 2 bevat basisinformatie over de gemeenschappelijke platform-specifieke processen die worden weergegeven in de output van de opdracht voor de gezondheid van het presentplatform.
Tabel 2 - Beschrijving van de platformspecifieke processen van de gezondheidsopdracht van het televisieplatformPlatform-specifieke procesnaam | Beschrijving |
---|---|
Proactieve beoordeling | Chassis/line kaart state management |
Ebm | Ethernet-brugmodule, zoals veroudering en bewaking |
Acl-flattener/K2Cman | Samenwerkingsproces van ACL |
KXAclPathMan - Pad TagMan-Review | Statusbeheer en onderhoud van ACL |
K2C400CPAN-beoordeling | Het proces dat softwarepakkettransport uitvoert Als u een hoog CPU-gebruik door dit proces ziet, onderzoeken de pakketten die de CPU met gebruik van de opdracht pakketstatistieken van het showplatform uitvoeren. |
K2AccelPacketMan | Het stuurprogramma dat met de pakketmotor reageert om pakketten te verzenden die voorzien zijn van de CPU |
K2C-CmMan | Beheer van de invoer- en uitvoersoftware van TCAM voor QoS en beveiligingsfuncties |
K2C-applicatorTabelman | Beheert de input- en uitvoerbeheerders |
K2L2 | Vertegenwoordigt het L2-verzendende subsysteem van de Catalyst 4500 Cisco IOS-software Deze processen zijn verantwoordelijk voor het onderhoud van de verschillende L2-tabellen. |
K2-poortsMan-beoordeling | Beheer van de verschillende havengerelateerde programmeerfuncties |
K2Fib | FIB1-beheer |
K2F500-cache | PBR2-cachebeheer |
K2FibAdjMan | FIB-nabijgelegen beheer |
K2fib-multicast | Multicastitems van FIB beheren |
K2MetStatsMan-beoordeling | Statistieken BMO3 |
K2QoSDBL-beoordeling | Beheert QoS DBL4 |
IrmFibThrottler Thor | IP-routeringsmodule |
K2 L2 vergrijzingstabel re | De L2-verouderingsfunctie beheren |
GalChassisVp-review | Controle van de toestand van het chassis |
S2w-jobEventSchedule | Beheert de S2W5-protocollen om de status van lijnkaarten te controleren |
Stub-jobEventSchedule | Stub ASIC-gebaseerde lijnkaartbewaking en onderhoud |
RKiosPortMan-poortadapter | Toezicht op en onderhoud van de havenstaat |
RKios-module - status R | Toezicht op lijnkaarten en onderhoud |
EthHoleLinecardMan | Beheert GBIC's6 in elk van de lijnkaarten |
1 FIB = Forwarding Information Base.
2 PBR = op beleid gebaseerde routing.
3 MET = Uitbreidingstabel voor multicast.
4 DBL = Dynamische bufferbeperking
5 S2W = seriële-naar-draden.
6 GBIC = Gigabit interfaceconverter.
In dit gedeelte worden enkele gemeenschappelijke toepassingsproblemen van hoge CPU’s op Catalyst 4500-switches behandeld.
Een van de gemeenschappelijke redenen voor een hoog CPU-gebruik is dat Catalyst 4500 CPU’s met het proces van pakketten voor softwaredoorgestuurde pakketten of controlepakketten gepaard gaan. Voorbeelden van software-verzonden pakketten zijn IPX of controlepakketten, zoals BPDUs. Een klein aantal van deze pakketten wordt normaal naar de CPU verzonden. Niettemin kan een consistent groot aantal pakketten op een configuratiefout of een netwerkgebeurtenis wijzen. U moet de oorzaak van gebeurtenissen identificeren die tot het verzenden van pakketten naar de CPU voor verwerking leiden. Met deze identificatie kunt u de problemen bij het gebruik van de hoge CPU’s oplossen.
Een aantal gemeenschappelijke redenen voor een hoog CPU-gebruik door procesgeschakelde pakketten zijn:
Andere redenen voor de switch van pakketten naar de CPU zijn:
De versplintering van de MTU moet zijn, dat alle interfaces langs het pad van het pakje dezelfde MTU hebben.
ACL-vlaggen met TCP anders dan ingesteld
IP, versie 6 (IPv6) routing-Dit wordt alleen ondersteund via het software-switching pad.
GRE-Dit wordt alleen ondersteund via het software-switching pad.
Ontkenning van verkeer in de invoer- of uitvoerrouter ACL (RACL)
Opmerking: dit is snelheidsbeperkt in Cisco IOS-softwarerelease 12.1(13)EW1 en hoger.
Geef het geen IP onbereikbare opdracht uit onder de interface van ACL.
Extreem ARP- en DHCP-verkeer bereikt de CPU voor verwerking door een groot aantal direct verbonden hosts
Als u een DHCP-aanval vermoedt, gebruikt u DCHP-snooping om het DHCP-verkeer aan een bepaalde host-poort te beperken.
Extreem SNMP-stemmen bij een legitiem of slecht gefundeerd eindstation
Catalyst 4500 steunt 3000 over-boom poortinstanties of actieve poorten in de modus Per VLAN Spanning Tree+ (PVST+). De ondersteuning is beschikbaar op alle Supervisor Engine, behalve de Supervisor Engine II+ en II+TS, en Catalyst 4948. Ondersteuning van Supervisor Engine II+ en II+TS en Catalyst 4948 tot 1500 poortinstanties. Als u deze aanbevelingen in het STP-geval overtreft, vertoont de switch een hoog CPU-gebruik.
Dit diagram toont een Catalyst 4500 met drie boomstampoorten die elk VLANs 1 door 100 dragen. Dit is gelijk aan 300 over-boom poortinstanties. In het algemeen kan je omspannen-boompoortinstanties berekenen met deze formule:
Total number of STP instances = Number of access ports + Sum of all VLANs that are carried in each of the trunks
In het diagram, zijn er geen toegangshavens, maar de drie stammen dragen VLANs 1 tot 100:
Total number of STP instances = 0 + 100 + 100 + 100 = 300
In dit gedeelte worden de opdrachten besproken die een beheerder gebruikt om het probleem van het hoge CPU-gebruik te beperken. Als u de opdracht Cpu-processen voor show geeft, kunt u zien dat twee hoofdprocessen, Cat4k Mgmt LoPri en Spanning Tree, voornamelijk de CPU gebruiken. Alleen met deze informatie weet u dat het overspannende boomproces een aanzienlijk deel van de CPU-cycli verwerkt.
Switch#show processes cpu CPU utilization for five seconds: 74%/1%; one minute: 73%; five minutes: 50% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 4 198 20 0.00% 0.00% 0.00% 0 Chunk Manager 2 4 290 13 0.00% 0.00% 0.00% 0 Load Meter !--- Output suppressed. 25 488 33 14787 0.00% 0.02% 0.00% 0 Per-minute Jobs 26 90656 223674 405 6.79% 6.90% 7.22% 0 Cat4k Mgmt HiPri 27 158796 59219 2681 32.55% 33.80% 21.43% 0 Cat4k Mgmt LoPri 28 20 1693 11 0.00% 0.00% 0.00% 0 Galios Reschedul 29 0 1 0 0.00% 0.00% 0.00% 0 IOS ACL Helper 30 0 2 0 0.00% 0.00% 0.00% 0 NAM Manager !--- Output suppressed. 41 0 1 0 0.00% 0.00% 0.00% 0 SFF8472 42 0 2 0 0.00% 0.00% 0.00% 0 AAA Dictionary R 43 78564 20723 3791 32.63% 30.03% 17.35% 0 Spanning Tree 44 112 999 112 0.00% 0.00% 0.00% 0 DTP Protocol 45 0 147 0 0.00% 0.00% 0.00% 0 Ethchnl
Om te begrijpen welk platform-specifiek proces de CPU consumeert, geeft u het opdracht voor de status van het platform uit. Vanaf deze uitvoer kunt u zien dat het K2CPuMan Review-proces, een taak om CPU-gebonden pakketten te verwerken, de CPU’s gebruikt:
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU !--- Output suppressed. TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 0:00 K2CpuMan Review 30.00 37.62 30 53 100 500 41 33 1 2:12 K2AccelPacketMan: Tx 10.00 4.95 20 0 100 500 5 4 0 0:36 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00 K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 0:00
Geef de opdracht voor pakketstatistieken met het platvorm opgeven om te controleren welke CPU-wachtrij het CPU-gebonden pakket ontvangt. De uitvoer in deze sectie toont aan dat de controlerij veel pakketten ontvangt. Gebruik de informatie in Tabel 1 en de conclusie die u in Stap 1 hebt getrokken. U kunt bepalen dat de pakketten die de CPU-processen en de reden voor het gebruik van de hoge CPU’s, de BPDU-verwerking zijn.
Switch#show platform cpu packet statistics !--- Output suppressed. Total packet queues 16 Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 202760 196 173 128 28 Control 388623 2121 1740 598 16 Packets Dropped by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Control 17918 0 19 24 3
Geef de show in-boom samenvatting opdracht uit. U kunt controleren of de ontvangst van BPDU's door een hoog aantal omspannend-drie poortinstanties is veroorzaakt. De output identificeert duidelijk de grondoorzaak:
Switch#show spanning-tree summary Switch is in pvst mode Root bridge for: none Extended system ID is enabled Portfast Default is disabled PortFast BPDU Guard Default is disabled Portfast BPDU Filter Default is disabled Loopguard Default is disabled EtherChannel misconfig guard is enabled UplinkFast is disabled BackboneFast is disabled Configured Pathcost method used is short !--- Output suppressed. Name Blocking Listening Learning Forwarding STP Active ---------------------- -------- --------- -------- ---------- ---------- 2994 vlans 0 0 0 5999 5999
Er zijn een groot aantal VLAN’s met de PVST+ modemconfiguratie. Om het probleem op te lossen, wijzigt u de STP-modus in Multiple Spanning Tree (MST). In sommige gevallen, is het aantal STP instanties hoog omdat een hoog aantal VLANs op alle boomstampoorten wordt doorgestuurd. In dit geval, druk handmatig de VLAN's af die niet noodzakelijk van de boomstam zijn om het aantal actieve poorten van STP tot ver onder de aanbevolen waarde te laten dalen.
Tip: Zorg ervoor dat u IP-telefoonpoorten niet als kofferpoorten instelt. Dit is een veel voorkomende misconfiguratie. Configureer IP-telefoonpoorten met een VLAN-configuratie. Deze configuratie maakt een pseudo-stam, maar vereist niet dat u de onnodige VLAN’s handmatig afvoert. Voor meer informatie over hoe te om spraakpoorten te configureren raadpleegt u de softwareconfiguratie van Spraakinterfaces configureren. Niet-Cisco IP-telefoons ondersteunen deze spraak-VLAN of de configuratie van hulpVLAN niet. U moet de poorten handmatig afdrukken met niet-Cisco IP-telefoons.
Het routeren van pakketten op de zelfde interface, of de ingangen en de stress op de zelfde L3 interface, kunnen in een ICMP leiden door de switch resulteren. Als de switch weet dat het volgende hopapparaat naar de uiteindelijke bestemming in zelfde voorwerp zoals het verzendende apparaat is, genereert de switch ICMP redirect aan de bron. De omleidingsberichten wijzen op de bron om het pakket rechtstreeks naar het volgende hopapparaat te verzenden. De berichten wijzen erop dat het volgende hopapparaat een betere route naar de bestemming heeft, een route van minder hop dan deze switch.
In het diagram in deze sectie, communiceert PC A met de webserver. De standaardgateway van PC A wijst naar het VLAN 100 interface IP adres. Echter, de volgende hoprouter die Catalyst 4500 toelaat om de bestemming te bereiken is in zelfde voorwerp zoals PC A. Het beste pad in deze zaak is direct naar "router" te verzenden. Catalyst 4500 verstuurt een ICMP-bericht om te sturen naar PC A. Het bericht geeft PC A de opdracht om de pakketten te verzenden die bestemd zijn voor de webserver via router, in plaats van via Catalyst 4500. In de meeste gevallen reageert de eindapparaten echter niet op de ICMP-omleiding. Het gebrek aan respons veroorzaakt Catalyst 4500 om veel CPU-cycli door te geven aan de generatie van deze ICMP-omleidingen voor alle pakketten die de Catalyst via dezelfde interface als de ingangspakketten naar voren stuurt.
Standaard is ICMP-omleiding ingeschakeld. Om het uit te schakelen, gebruikt u de opdracht geen ip icmp omwijst. Geef de opdracht uit onder de desbetreffende SVI- of L3-interface.
Opmerking: Aangezien ip icmp-omleidingen een standaardopdracht is, is deze niet zichtbaar in de opdrachtoutput van de show-configuratie.
Geef de show processen cpu opdracht uit. U kunt zien dat twee hoofdprocessen, Cat4k Mgmt LoPri en IP Input, voornamelijk de CPU gebruiken. Alleen met deze informatie weet u dat het proces van IP-pakketten een aanzienlijk deel van de CPU’s oplevert.
Switch#show processes cpu CPU utilization for five seconds: 38%/1%; one minute: 32%; five minutes: 32% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 0 63 0 0.00% 0.00% 0.00% 0 Chunk Manager 2 60 50074 1 0.00% 0.00% 0.00% 0 Load Meter 3 0 1 0 0.00% 0.00% 0.00% 0 Deferred Events !--- Output suppressed. 27 524 250268 2 0.00% 0.00% 0.00% 0 TTY Background 28 816 254843 3 0.00% 0.00% 0.00% 0 Per-Second Jobs 29 101100 5053 20007 0.00% 0.01% 0.00% 0 Per-minute Jobs 30 26057260 26720902 975 5.81% 6.78% 5.76% 0 Cat4k Mgmt HiPri 31 19482908 29413060 662 19.64% 18.20% 20.48% 0 Cat4k Mgmt LoPri !--- Output suppressed. 35 60 902 0 0.00% 0.00% 0.00% 0 DHCP Snooping 36 504625304 645491491 781 72.40% 72.63% 73.82% 0 IP Input
De uitvoer van de opdracht platformstatus bevestigt het gebruik van de CPU om CPU-gebonden pakketten te verwerken.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU --- Output suppressed. TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 0:00 K2CpuMan Review 330.00 19.18 150 79 25 500 20 19 18 5794:08 K2AccelPacketMan: Tx 10.00 4.95 20 0 100 500 5 4 0 0:36 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00 K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 0:00
Geef de opdracht voor pakketstatistieken met het platvorm opgeven om te controleren welke CPU-wachtrij het CPU-gebonden pakket ontvangt. Je kunt zien dat de L3 Fwd Low rijdt met veel verkeer.
Switch#show platform cpu packet statistics !--- Output suppressed. Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 48613268 38 39 38 39 Control 142166648 74 74 73 73 Host Learning 1845568 2 2 2 2 L3 Fwd High 17 0 0 0 0 L3 Fwd Medium 2626 0 0 0 0 L3 Fwd Low 4717094264 3841 3879 3873 3547 L2 Fwd Medium 1 0 0 0 0 L3 Rx High 257147 0 0 0 0 L3 Rx Low 5325772 10 19 13 7 RPF Failure 155 0 0 0 0 ACL fwd(snooping) 65604591 53 54 54 53 ACL log, unreach 11013420 9 8 8 8
Gebruik in dit geval de CPU-SPAN om het verkeer dat de CPU raakt, te bepalen. Zie Gereedschap 1 voor meer informatie over de CPU-SPAN: Controleer het CPU-verkeer met SPAN-Cisco IOS-softwarerelease 12.1(19)EW en later in dit document. Maak een analyse van het verkeer en een configuratie met gebruik van de opdracht voor het tonen van de configuratie. In dit geval wordt een pakje door dezelfde interface verzonden, wat leidt tot de kwestie van een ICMP-omleiding voor elk pakje. Deze oorzaak is een van de gemeenschappelijke redenen voor een hoog CPU-gebruik op Catalyst 4500.
U kunt verwachten dat het bronapparaat op ICMP handelt om te leiden dat Catalyst 4500 de volgende hop voor de bestemming verstuurt en wijzigt. Niet alle apparaten reageren echter op een ICMP-omleiding. Als het apparaat niet reageert moet Catalyst 4500 omleidingen verzenden voor elk pakje dat de switch van het verzendende apparaat ontvangt. Deze omleidingen kunnen veel CPU-bronnen gebruiken. De oplossing is ICMP-omleiding uit te schakelen. Geef de opdracht Geen IP-omleidingen op onder de interfaces.
Dit scenario kan voorkomen wanneer u ook secundaire IP adressen hebt ingesteld. Wanneer u de secundaire IP-adressen activeert, wordt IP-omleiding automatisch uitgeschakeld. Zorg ervoor dat u de IP-omleidingen niet handmatig kunt inschakelen.
Als dit ICMP wordt omgeleid; Het routeren van pakketten op de zelfde sectie van de Interface heeft aangegeven, reageren de meeste eindapparaten niet op ICMP omleidingen. Daarom, als algemene praktijk, schakelt u deze optie uit.
Catalyst 4500 ondersteunt IPX en AppleTalk routing via alleen software-doorsturen pad. Door het configureren van dergelijke protocollen is een hoger CPU-gebruik normaal.
Opmerking: de switching van IPX en AppleTalk in hetzelfde VLAN vereist geen processwitching. Alleen pakketten die routeerd moeten worden, moeten het pad van de software doorsturen.
Geef de opdracht Cpu voor de show processen uit om te controleren welk Cisco IOS-proces de CPU gebruikt. In deze opdrachtoutput merk je op dat het bovenste proces de Cat4k Mgmt LoPri is:
witch#show processes cpu CPU utilization for five seconds: 87%/10%; one minute: 86%; five minutes: 87% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 4 53 75 0.00% 0.00% 0.00% 0 Chunk Manager !--- Output suppressed. 25 8008 1329154 6 0.00% 0.00% 0.00% 0 Per-Second Jobs 26 413128 38493 10732 0.00% 0.02% 0.00% 0 Per-minute Jobs 27 148288424 354390017 418 2.60% 2.42% 2.77% 0 Cat4k Mgmt HiPri 28 285796820 720618753 396 50.15% 59.72% 61.31% 0 Cat4k Mgmt LoPri
De uitvoer van de opdracht platformstatus bevestigt het gebruik van de CPU om CPU-gebonden pakketten te verwerken.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU !--- Output suppressed. TagMan-RecreateMtegR 1.00 0.00 10 4 100 500 0 0 0 0:00 K2CpuMan Review 30.00 27.39 30 53 100 500 42 47 42 4841: K2AccelPacketMan: Tx 10.00 8.03 20 0 100 500 21 29 26 270:4
Om het type verkeer te bepalen dat de CPU raakt, geeft u de opdracht Packet Statistics van het platform weer.
Switch#show platform cpu packet statistics !--- Output suppressed. Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 48613268 38 39 38 39 Control 142166648 74 74 73 73 Host Learning 1845568 2 2 2 2 L3 Fwd High 17 0 0 0 0 L3 Fwd Medium 2626 0 0 0 0 L3 Fwd Low 1582414 1 1 1 1 L2 Fwd Medium 1 0 0 0 0 L2 Fwd Low 576905398 1837 1697 1938 1515 L3 Rx High 257147 0 0 0 0 L3 Rx Low 5325772 10 19 13 7 RPF Failure 155 0 0 0 0 ACL fwd(snooping) 65604591 53 54 54 53 ACL log, unreach 11013420 9 8 8 8
Aangezien de beheerder de routing IPX of AppleTalk heeft ingesteld, moet de identificatie van de grondoorzaak eenvoudig zijn. Maar om dit te bevestigen, SPAN het CPU-verkeer en zorg ervoor dat het verkeer dat u ziet het verwachte verkeer is. Zie Gereedschap 1 voor meer informatie over de CPU-SPAN: Controleer het CPU-verkeer met SPAN-Cisco IOS-softwarerelease 12.1(19)EW en later in dit document.
In dit geval moet de beheerder de basislijn CPU aan de huidige waarde bijwerken. De Catalyst 4500 CPU gedraagt zich zoals verwacht bij de verwerking van softwaregeschakelde pakketten door de CPU.
Catalyst 4500 leert de adressen van MAC van verschillende hosts, als het adres van MAC niet reeds in de adreslijst van MAC is opgenomen. De switchmachine zendt een kopie van het pakket met het nieuwe MAC-adres naar de CPU.
Alle VLAN interfaces (Layer 3) gebruiken het chassis hardware adres als hun MAC-adres. Als resultaat hiervan is er geen ingang in de MAC adrestabel, en de pakketten die aan deze VLAN interfaces zijn bestemd worden niet naar de CPU voor verwerking verzonden.
Als er een excessief aantal nieuwe MAC-adressen zijn waarmee de switch kan worden leren, kan een hoog CPU-gebruik resulteren.
Geef de opdracht Cpu-processen uit om te controleren welk Cisco IOS-proces de CPU verwerkt. Let op dat het bovenste proces de Cat4k Mgmt LoPri is:
Switch#show processes cpu CPU utilization for five seconds: 89%/1%; one minute: 74%; five minutes: 71% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 4 53 75 0.00% 0.00% 0.00% 0 Chunk Manager !--- Output suppressed. 25 8008 1329154 6 0.00% 0.00% 0.00% 0 Per-Second Jobs 26 413128 38493 10732 0.00% 0.02% 0.00% 0 Per-minute Jobs 27 148288424 354390017 418 26.47% 10.28% 10.11% 0 Cat4k Mgmt HiPri 28 285796820 720618753 396 52.71% 56.79% 55.70% 0 Cat4k Mgmt LoPri
De uitvoer van de opdracht platformstatus bevestigt het gebruik van de CPU om CPU-gebonden pakketten te verwerken.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU !--- Output suppressed. TagMan-RecreateMtegR 1.00 0.00 10 4 100 500 0 0 0 0:00 K2CpuMan Review 30.00 46.88 30 47 100 500 30 29 21 265:01 K2AccelPacketMan: Tx 10.00 8.03 20 0 100 500 21 29 26 270:4
Om het type verkeer te bepalen dat de CPU raakt, geeft u de opdracht Packet Statistics van het platform weer.
Switch#show platform cpu packet statistics !--- Output suppressed. Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 48613268 38 39 38 39 Control 142166648 74 74 73 73 Host Learning 1845568 1328 1808 1393 1309 L3 Fwd High 17 0 0 0 0 L3 Fwd Medium 2626 0 0 0 0 L3 Fwd Low 1582414 1 1 1 1 L2 Fwd Medium 1 0 0 0 0 L2 Fwd Low 576905398 37 7 8 5 L3 Rx High 257147 0 0 0 0 L3 Rx Low 5325772 10 19 13 7 RPF Failure 155 0 0 0 0 ACL fwd(snooping) 65604591 53 54 54 53 ACL log, unreach 11013420 9 8 8 8
De output van het opdracht tonen platform geeft u aan dat de CPU veel nieuwe MAC-adressen ziet. Deze situatie is vaak het resultaat van instabiliteit van netwerktopologieën. Bijvoorbeeld, als de het overspannen-boomtopologie verandert, genereert de switch de Notificaties van de Topologie van de Verandering (TCNs). De kwestie van de TCN's beperkt de verouderingstijd tot 15 seconden in de PVST+-modus. De adressen van MAC worden gespoeld als de adressen niet binnen de tijdsperiode worden geleerd. In het geval van Rapid STP (RSTP) (IEEE 802.1w) of MST (IEEE 802.1s) verouderen de waarden onmiddellijk als de GN van een andere switch afkomstig is. Deze pagina-uit veroorzaakt dat MAC adressen opnieuw te leren. Dit is geen groot probleem als de topologie zelden verandert. Maar er kan een excessief aantal topologieveranderingen door een flappende verbinding, defecte switch, of host poorten zijn die niet voor PortFast zijn ingeschakeld. Een groot aantal MAC-tabelflushes en de daaropvolgende release kunnen resulteren. De volgende stap in de identificatie van de basisoorzaak is het oplossen van problemen in het netwerk. De switch werkt zoals verwacht en stuurt de pakketten naar de CPU voor het leren van host-adressen. Identificeer en maak de defecte voorziening vast die resulteert in buitensporige TCN's.
Uw netwerk kan een hoop apparaten hebben die verkeer in bursts verzenden, wat de adressen van MAC veroorzaakt om uit te geraken en vervolgens op de switch vrij te maken. In dit geval, verhoog de tijd van de vergrijzing van de MAC-adrestabel om enige verlichting te bieden. Met een langere verouderingstijd behouden de switches de MAC-adressen van het apparaat in de tabel gedurende een langere periode voor de leeftijdsgrens.
Waarschuwing: zorg ervoor dat deze leeftijdsafstand pas na zorgvuldige overweging verandert. De verandering kan tot een zwart verkeersplein leiden als u apparaten in uw netwerk hebt die mobiel zijn.
Catalyst 4500 programma's van de geconfigureerde ACL's met gebruik van de Cisco TCAM. TCAM staat toe om ACL's in de hardware-expediteur toe te passen. Er is geen invloed op de prestaties van de switch, met of zonder ACL's in het uitvoerpad. De prestaties zijn constant ondanks de grootte van ACL omdat de prestaties van de raadpleging van ACL bij lijnsnelheid zijn. TCAM is echter een eindige hulpbron. Daarom, als u een excessief aantal ACL ingangen vormt, overschrijdt u de capaciteit van de TCAM. Tabel 3 toont het aantal beschikbare CAM-middelen op elk van Catalyst 4500 Supervisor Engine en switches.
Tabel 3 - CAM-capaciteit op Catalyst 4500 Supervisor Engine/SwitchesProduct | TCAM-functies (per richting) | QoS-CAM (per richting) |
---|---|---|
Supervisor Engine II+/II+TS | 8192 ingangen met 1024 maskers | 8192 ingangen met 1024 maskers |
Supervisor Engine III/IV/V en Catalyst 4948 | 16.384 items met 2048 maskers | 16.384 items met 2048 maskers |
Supervisor Engine V-10 GE en Catalyst 4948-10 GE switch | 16.384 ingangen met 16.384 maskers | 16.384 ingangen met 16.384 maskers |
De switch gebruikt de optie TCAM om de security ACL te programmeren, zoals RACL en VLAN ACL (VACL). De switch gebruikt ook de optie TCAM voor beveiligingsfuncties zoals IP Source Guard (IPSG) voor dynamische ACL’s. De switch gebruikt de QoS TCAM om de programma's te classificeren en te controleren.
Wanneer Catalyst 4500 TCAM-middelen niet meer heeft tijdens het programmeren van een security ACL, gebeurt er een gedeeltelijke toepassing van ACL via het softwarepad. De pakketten die deze ACE's raken worden in software verwerkt, wat een hoog CPU-gebruik veroorzaakt. ACL wordt van bovenaf geprogrammeerd. Met andere woorden, als ACL niet in de TCAM past, wordt ACE bij het onderste gedeelte van ACL waarschijnlijk niet geprogrammeerd in TCAM.
Dit waarschuwingsbericht verschijnt als er een TCAM-overflow optreedt:
%C4K_HWACLMAN-4-ACLHWPROGERRREASON: (Suppressed 1times) Input(null, 12/Normal) Security: 140 - insufficient hardware TCAM masks. %C4K_HWACLMAN-4-ACLHWPROGERR: (Suppressed 4 times) Input Security: 140 - hardware TCAM limit, some packet processing will be software switched.
U kunt deze foutmelding zien in de opdrachtoutput van de show logging. In het bericht wordt duidelijk aangegeven dat bepaalde softwareverwerking zal plaatsvinden en dat er derhalve een hoog CPU-gebruik kan plaatsvinden.
Opmerking: Als u een grote ACL wijzigt, kunt u dit bericht kort zien voordat de veranderde ACL opnieuw wordt geprogrammeerd in de TCAM.
Geef de show processen cpu opdracht uit. U kunt zien dat het CPU-gebruik hoog is, omdat het Cat4k MGMT LoPri-proces de meeste CPU-cycli omvat.
Switch#show processes cpu CPU utilization for five seconds: 99%/0%; one minute: 99%; five minutes: 99% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 0 11 0 0.00% 0.00% 0.00% 0 Chunk Manager 2 9716 632814 15 0.00% 0.00% 0.00% 0 Load Meter 3 780 302 2582 0.00% 0.00% 0.00% 0 SpanTree Helper !--- Output suppressed. 23 18208 3154201 5 0.00% 0.00% 0.00% 0 TTY Background 24 37208 3942818 9 0.00% 0.00% 0.00% 0 Per-Second Jobs 25 1046448 110711 9452 0.00% 0.03% 0.00% 0 Per-minute Jobs 26 175803612 339500656 517 4.12% 4.31% 4.48% 0 Cat4k Mgmt HiPri 27 835809548 339138782 2464 86.81% 89.20% 89.76% 0 Cat4k Mgmt LoPri 28 28668 2058810 13 0.00% 0.00% 0.00% 0 Galios Reschedul
Geef de show platform gezondheidszorg opdracht. U kunt zien dat het K2CPUMan-Review, een taak om CPU-gebonden pakketten te verwerken, de CPU gebruikt.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.01 2 0 100 500 0 0 0 13:45 GalChassisVp-review 3.00 0.20 10 16 100 500 0 0 0 88:44 S2w-JobEventSchedule 10.00 0.57 10 7 100 500 1 0 0 404:22 Stub-JobEventSchedul 10.00 0.00 10 0 100 500 0 0 0 0:00 StatValueMan Update 1.00 0.09 1 0 100 500 0 0 0 91:33 Pim-review 0.10 0.00 1 0 100 500 0 0 0 4:46 Ebm-host-review 1.00 0.00 8 4 100 500 0 0 0 14:01 Ebm-port-review 0.10 0.00 1 0 100 500 0 0 0 0:20 Protocol-aging-revie 0.20 0.00 2 0 100 500 0 0 0 0:01 Acl-Flattener 1.00 0.00 10 5 100 500 0 0 0 0:04 KxAclPathMan create/ 1.00 0.00 10 5 100 500 0 0 0 0:21 KxAclPathMan update 2.00 0.00 10 6 100 500 0 0 0 0:05 KxAclPathMan reprogr 1.00 0.00 2 1 100 500 0 0 0 0:00 TagMan-InformMtegRev 1.00 0.00 5 0 100 500 0 0 0 0:00 TagMan-RecreateMtegR 1.00 0.00 10 14 100 500 0 0 0 0:18 K2CpuMan Review 30.00 91.31 30 92 100 500 128 119 84 13039:02 K2AccelPacketMan: Tx 10.00 2.30 20 0 100 500 2 2 2 1345:30 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00
U moet verder begrijpen welke CPU-wachtrij en dus welk type verkeer de CPU-wachtrij raakt. Geef de opdracht voor de pakketstatistieken van het platform uit. U kunt zien dat de ACL sw verwerkingsrij een hoog aantal pakketten ontvangt. Daarom is de overflow van TCAM de oorzaak van deze probleem met het hoge gebruik van CPU.
Switch#show platform cpu packet statistics !--- Output suppressed. Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Control 57902635 22 16 12 3 Host Learning 464678 0 0 0 0 L3 Fwd Low 623229 0 0 0 0 L2 Fwd Low 11267182 7 4 6 1 L3 Rx High 508 0 0 0 0 L3 Rx Low 1275695 10 1 0 0 ACL fwd(snooping) 2645752 0 0 0 0 ACL log, unreach 51443268 9 4 5 5 ACL sw processing 842889240 1453 1532 1267 1179 Packets Dropped by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- L2 Fwd Low 3270 0 0 0 0 ACL sw processing 12636 0 0 0 0
In Stap 3 hebt u de grondoorzaak in dit scenario bepaald. Verwijder ACL die de overloop veroorzaakt heeft of minimaliseer de ACL om overloop te voorkomen. Controleer ook de Het configureren van netwerkbeveiliging met ACL's configuratiehandleiding om de ACL-configuratie en -programmering in de hardware te optimaliseren.
Catalyst 4500 ondersteunt het registreren van pakketgegevens die op een specifieke ACL-ingang raken, maar excessief loggen kan een hoog CPU-gebruik veroorzaken. Vermijd het gebruik van logsleutelwoorden, behalve tijdens het beslissingsstadium van het verkeer. Tijdens het fase van de verkeersontdekking, identificeert u het verkeer dat door uw netwerk stroomt waarvoor u geen ACE's expliciet hebt ingesteld. Gebruik het logsleutelwoord niet om statistieken te verzamelen. In Cisco IOS-softwarerelease 12.1(13)EW en later zijn de logberichten beperkt in hun tempo. Als u logberichten gebruikt om het aantal pakketten te tellen dat op ACL overeenkomt is de telling niet nauwkeurig. In plaats daarvan, gebruik de show access-list opdracht voor accurate statistieken. De identificatie van deze wortel oorzaak is gemakkelijker omdat een beoordeling van de configuratie of de logberichten het gebruik van de ACL houtkapfunctie kan aangeven.
Geef de cpu van de showprocessen uit om te controleren welk Cisco IOS proces de CPU verbruikt. In deze opdrachtoutput vindt u dat het bovenste proces de Cat4k Mgmt LoPri is:
Switch#show processes cpu CPU utilization for five seconds: 99%/0%; one minute: 99%; five minutes: 99% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 0 11 0 0.00% 0.00% 0.00% 0 Chunk Manager 2 9716 632814 15 0.00% 0.00% 0.00% 0 Load Meter !--- Output suppressed. 26 175803612 339500656 517 4.12% 4.31% 4.48% 0 Cat4k Mgmt HiPri 27 835809548 339138782 2464 86.81% 89.20% 89.76% 0 Cat4k Mgmt LoPri 28 28668 2058810 13 0.00% 0.00% 0.00% 0 Galios Reschedul
Controleer het platform-specifieke proces dat de CPU gebruikt. Geef de show platform gezondheidszorg opdracht. Let er bij de uitvoer op dat het K2CPuMan-Review-proces de meeste CPU-cycli gebruikt. Deze activiteit duidt erop dat de CPU bezig is terwijl zij pakketten verwerkt die bestemd zijn om in de CPU te worden geïntegreerd.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.01 2 0 100 500 0 0 0 13:45 GalChassisVp-review 3.00 0.20 10 16 100 500 0 0 0 88:44 S2w-JobEventSchedule 10.00 0.57 10 7 100 500 1 0 0 404:22 Stub-JobEventSchedul 10.00 0.00 10 0 100 500 0 0 0 0:00 StatValueMan Update 1.00 0.09 1 0 100 500 0 0 0 91:33 Pim-review 0.10 0.00 1 0 100 500 0 0 0 4:46 Ebm-host-review 1.00 0.00 8 4 100 500 0 0 0 14:01 Ebm-port-review 0.10 0.00 1 0 100 500 0 0 0 0:20 Protocol-aging-revie 0.20 0.00 2 0 100 500 0 0 0 0:01 Acl-Flattener 1.00 0.00 10 5 100 500 0 0 0 0:04 KxAclPathMan create/ 1.00 0.00 10 5 100 500 0 0 0 0:21 KxAclPathMan update 2.00 0.00 10 6 100 500 0 0 0 0:05 KxAclPathMan reprogr 1.00 0.00 2 1 100 500 0 0 0 0:00 TagMan-InformMtegRev 1.00 0.00 5 0 100 500 0 0 0 0:00 TagMan-RecreateMtegR 1.00 0.00 10 14 100 500 0 0 0 0:18 K2CpuMan Review 30.00 91.31 30 92 100 500 128 119 84 13039:02 K2AccelPacketMan: Tx 10.00 2.30 20 0 100 500 2 2 2 1345:30 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00
Om het type verkeer te bepalen dat de CPU raakt, geeft u de opdracht Packet Statistics van het platform weer. In deze opdrachtoutput kunt u zien dat het ontvangen van pakketten te wijten is aan het ACL-logsleutelwoord:
Switch#show platform cpu packet statistics !--- Output suppressed. Total packet queues 16 Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ----------------- -------------------- --------- --------- --------- ---------- Control 1198701435 35 35 34 35 Host Learning 874391 0 0 0 0 L3 Fwd High 428 0 0 0 0 L3 Fwd Medium 12745 0 0 0 0 L3 Fwd Low 2420401 0 0 0 0 L2 Fwd High 26855 0 0 0 0 L2 Fwd Medium 116587 0 0 0 0 L2 Fwd Low 317829151 53 41 31 31 L3 Rx High 2371 0 0 0 0 L3 Rx Low 32333361 7 1 2 0 RPF Failure 4127 0 0 0 0 ACL fwd (snooping) 107743299 4 4 4 4 ACL log, unreach 1209056404 1987 2125 2139 2089 Packets Dropped by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ----------------- -------------------- --------- --------- --------- ---------- ACL log, unreach 193094788 509 362 437 394
In Stap 3 hebt u de grondoorzaak in dit scenario bepaald. Om dit probleem te voorkomen, verwijder het logsleutelwoord van de ACL's. In Cisco IOS-softwarerelease 12.1(13)EW1 en later zijn de pakketten beperkt in snelheid, zodat het CPU-gebruik niet te hoog wordt. Gebruik de tellers van de toegangslijst als manier om spoor van ACL hits te houden. U kunt de tellers van de toegangslijst in de tonen toegang-lijst acl_id opdrachtoutput zien.
Layer 2 Forwarding luss kunnen worden veroorzaakt door slechte implementatie van Spanning Tree Protocol (STP) en verschillende kwesties die STP kunnen beïnvloeden.
In dit gedeelte worden de opdrachten besproken die een beheerder gebruikt om het probleem van het hoge CPU-gebruik te beperken. Als u de opdracht Cpu-processen voor show geeft, kunt u zien dat twee hoofdprocessen, Cat4k Mgmt LoPri en Spanning Tree, voornamelijk de CPU gebruiken. Alleen met deze informatie weet u dat het overspannende boomproces een aanzienlijk deel van de CPU-cycli verwerkt.
Switch#show processes cpu CPU utilization for five seconds: 74%/1%; one minute: 73%; five minutes: 50% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 4 198 20 0.00% 0.00% 0.00% 0 Chunk Manager 2 4 290 13 0.00% 0.00% 0.00% 0 Load Meter !--- Output suppressed. 25 488 33 14787 0.00% 0.02% 0.00% 0 Per-minute Jobs 26 90656 223674 405 6.79% 6.90% 7.22% 0 Cat4k Mgmt HiPri 27 158796 59219 2681 32.55% 33.80% 21.43% 0 Cat4k Mgmt LoPri 28 20 1693 11 0.00% 0.00% 0.00% 0 Galios Reschedul 29 0 1 0 0.00% 0.00% 0.00% 0 IOS ACL Helper 30 0 2 0 0.00% 0.00% 0.00% 0 NAM Manager !--- Output suppressed. 41 0 1 0 0.00% 0.00% 0.00% 0 SFF8472 42 0 2 0 0.00% 0.00% 0.00% 0 AAA Dictionary R 43 78564 20723 3791 32.63% 30.03% 17.35% 0 Spanning Tree 44 112 999 112 0.00% 0.00% 0.00% 0 DTP Protocol 45 0 147 0 0.00% 0.00% 0.00% 0 Ethchnl
Om te begrijpen welk platform-specifiek proces de CPU consumeert, geeft u het opdracht voor de status van het platform uit. Vanaf deze uitvoer kunt u zien dat het K2CPuMan Review-proces, een taak om CPU-gebonden pakketten te verwerken, de CPU’s gebruikt:
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU !--- Output suppressed. TagMan-RecreateMtegR 1.00 0.00 10 0 100 500 0 0 0 0:00 K2CpuMan Review 30.00 37.62 30 53 100 500 41 33 1 2:12 K2AccelPacketMan: Tx 10.00 4.95 20 0 100 500 5 4 0 0:36 K2AccelPacketMan: Au 0.10 0.00 0 0 100 500 0 0 0 0:00 K2AclMan-taggedFlatA 1.00 0.00 10 0 100 500 0 0 0 0:00
Geef de opdracht voor pakketstatistieken met het platvorm opgeven om te controleren welke CPU-wachtrij het CPU-gebonden pakket ontvangt. De uitvoer in deze sectie toont aan dat de controlerij veel pakketten ontvangt. Gebruik de informatie in Tabel 1 en de conclusie die u in Stap 1 hebt getrokken. U kunt bepalen dat de pakketten die de CPU-processen en de reden voor het gebruik van de hoge CPU’s, de BPDU-verwerking zijn.
Switch#show platform cpu packet statistics !--- Output suppressed. Total packet queues 16 Packets Received by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Esmp 202760 196 173 128 28 Control 388623 2121 1740 598 16 Packets Dropped by Packet Queue Queue Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Control 17918 0 19 24 3
Over het algemeen kunt u deze stappen voltooien om problemen op te lossen (afhankelijk van de situatie zijn bepaalde stappen niet nodig):
Identificeer de lus.
Ontdek de reikwijdte van de lus.
Breek de lus.
Bevestig de oorzaak van de lus.
Terugzetten.
Elk van de stappen wordt in detail uitgelegd bij het doorsturen van wachtrijen voor probleemoplossing - STP voor probleemoplossing bij Catalyst Switches die Cisco IOS-systeemsoftware uitvoeren.
BDPU Guard-Beveiliging van STP tegen onbevoegde netwerkapparaten die worden aangesloten op portfast enabled-poorten. Raadpleeg de Verbetering in Spanning Tree PortFast BPDU Guard voor meer informatie.
Lijn Guard - verhoogt de stabiliteit van Layer 2 netwerken. Raadpleeg Spanning-Tree Protocol-verbeteringen met Loop Guard en BPDU Skew Detectie-functies voor meer informatie.
Root Guard - dwingt root-brug plaatsing in het netwerk af. Raadpleeg de Verbetering in Spanning Tree Protocol Root Guard voor meer informatie.
UDLD-Detecteert unidirectionele koppelingen en voorkomt het verzenden van lusjes. Raadpleeg de optie Unidirectional Link Detection Protocol voor meer informatie begrijpen en configureren.
Dit zijn een aantal andere bekende oorzaken van een hoog CPU-gebruik:
Gebruik van hoge CPU’s in het proces voor poortanalyse van RiosPortMan
Gebruik van hoge CPU’s bij aansluiting op een IP-telefoon met behulp van boomstampoorten
Spiegelen tijdens grote ACL-programma
De pin in het gebruik van CPU komt voor bij de toepassing of verwijdering van een grote ACL uit een interface.
Catalyst 4500 heeft een hoog CPU-gebruik wanneer een of meer van de aangesloten koppelingen buitensporig beginnen te knipperen. Deze situatie doet zich voor in Cisco IOS-softwarerelease 12.2(20)EWA.
Geef de opdracht Cpu voor de show processen uit om te controleren welk Cisco IOS-proces de CPU gebruikt. In deze opdrachtoutput merk je op dat het bovenste proces de Cat4k Mgmt LoPri is:
Switch#show processes cpu CPU utilization for five seconds: 96%/0%; one minute: 76%; five minutes: 68% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 0 4 0 0.00% 0.00% 0.00% 0 Chunk Manager 2 9840 463370 21 0.00% 0.00% 0.00% 0 Load Meter 3 0 2 0 0.00% 0.00% 0.00% 0 SNMP Timers !--- Output suppressed. 27 232385144 530644966 437 13.98% 12.65% 12.16% 0 Cat4k Mgmt HiPri 28 564756724 156627753 3605 64.74% 60.71% 54.75% 0 Cat4k Mgmt LoPri 29 9716 1806301 5 0.00% 0.00% 0.00% 0 Galios Reschedul
De uitvoer van het opdracht platformstatus tonen geeft aan dat het KxAclPathMan-proces de CPU gebruikt. Dit proces is bedoeld voor het maken van interne paden.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.03 2 0 100 500 0 0 0 9:49 GalChassisVp-review 3.00 1.11 10 62 100 500 0 0 0 37:39 S2w-JobEventSchedule 10.00 2.85 10 8 100 500 2 2 2 90:00 Stub-JobEventSchedul 10.00 5.27 10 9 100 500 4 4 4 186:2 Pim-review 0.10 0.00 1 0 100 500 0 0 0 2:51 Ebm-host-review 1.00 0.00 8 4 100 500 0 0 0 8:06 Ebm-port-review 0.10 0.00 1 0 100 500 0 0 0 0:14 Protocol-aging-revie 0.20 0.00 2 0 100 500 0 0 0 0:00 Acl-Flattener 1.00 0.00 10 5 100 500 0 0 0 0:00 KxAclPathMan create/ 1.00 69.11 10 5 100 500 42 53 22 715:0 KxAclPathMan update 2.00 0.76 10 6 100 500 0 0 0 86:00 KxAclPathMan reprogr 1.00 0.00 2 1 100 500 0 0 0 0:00 TagMan-InformMtegRev 1.00 0.00 5 0 100 500 0 0 0 0:00 TagMan-RecreateMtegR 1.00 0.00 10 227 100 500 0 0 0 0:00 K2CpuMan Review 30.00 8.05 30 57 100 500 6 5 5 215:0 K2AccelPacketMan: Tx 10.00 6.86 20 0 100 500 5 5 4 78:42
Toegang tot loggen voor link naar boven/beneden berichten. Deze vastlegging is standaard niet ingeschakeld. Met de functie Inablement kunt u de beledigende links heel snel omlaag brengen. Geef de opdracht link-status van de loggebeurtenis uit onder alle interfaces. U kunt de opdracht interfacebereik gebruiken om gemakkelijk op een reeks interfaces in te schakelen, zoals dit voorbeeld aantoont:
Switch#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#interface range gigabitethernet 5/1 - 48 Switch(config-if-range)#logging event link-status Switch(config--if-range)#end
Switch#show logging !--- Output suppressed. 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to down 3w5d: %LINK-3-UPDOWN: Interface GigabitEthernet5/24, changed state to up
Nadat u de defecte of de flappende interface hebt geïdentificeerd, sluit u de interface af om het probleem met het hoge CPU-gebruik op te lossen. Cisco IOS-softwarerelease 12.2(20)EWA en hebben later het gedrag van Catalyst 4500 verbeterd voor deze voorwaarde van flappellinks. Daarom is het effect op de CPU niet zo groot als vóór de verbetering. Denk eraan dat dit proces een achtergrondproces is. Een hoog CPU-gebruik vanwege dit probleem heeft geen nadelige gevolgen voor Catalyst 4500-switches.
Catalyst 4500 kan kortstondige pieken in het CPU-gebruik laten zien tijdens een controle van de consistentie van de FIB-tabel. De FIB-tabel is de L3-verzendtabel die door het CEF-proces wordt gemaakt. De consistentiecontrole zorgt voor consistentie tussen de Cisco IOS-softwarerelease en de hardwareitems. Deze consistentie zorgt ervoor dat pakketten niet misrouteerd zijn. De controle komt elke 2 seconden voor en loopt als een laag prioritair achtergrondproces. Dit proces is normaal gedrag en interfereert niet met andere processen of pakketten met hoge prioriteit.
De output van het opdracht Show platform Health laat zien dat K2Fib Consistentie Ch het grootste deel van de CPU verbruikt.
Opmerking: Het gemiddelde verbruik van CPU’s voor dit proces is gedurende een minuut of een uur onbeduidend, wat bevestigt dat de controle een kort periodiek onderzoek is. Bij dit achtergrondproces worden alleen de lege CPU-cycli gebruikt.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.02 2 1 100 500 0 0 0 1:09 GalChassisVp-review 3.00 0.29 10 3 100 500 0 0 0 11:15 !--- Output suppressed. K2Fib cam usage revi 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib IrmFib Review 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib Vrf Default Ro 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib AdjRepop Revie 2.00 0.00 15 0 100 500 0 0 0 0:00 K2Fib Vrf Unpunt Rev 2.00 0.01 15 0 100 500 0 0 0 0:23 K2Fib Consistency Ch 1.00 60.40 5 2 100 500 0 0 0 100:23 K2FibAdjMan Stats Re 2.00 0.30 10 4 100 500 0 0 0 6:21 K2FibAdjMan Host Mov 2.00 0.00 10 4 100 500 0 0 0 0:00 K2FibAdjMan Adj Chan 2.00 0.00 10 0 100 500 0 0 0 0:00 K2FibMulticast Signa 2.00 0.01 10 2 100 500 0 0 0 2:04
Catalyst 4500 kan een hoog CPU-gebruik weergeven in het K2FibAdjMan-hostbewegingsproces. Dit hoge gebruik verschijnt in de output van de opdracht voor de showplatform. Veel MAC-adressen verlopen vaak of worden geleerd op nieuwe poorten, wat dit hoge CPU-gebruik veroorzaakt. De standaardwaarde van de verouderingstijd van een mac-adres-tabel is 5 minuten of 300 seconden. De tijdelijke oplossing voor deze kwestie is om de tijd van de het adres van MAC te verhogen, of u kunt het netwerk ontwerpen om het hoge aantal van MAC adresbewegingen te vermijden. Cisco IOS-softwarerelease 12.2(18)EW en hebben later dit procesgedrag verbeterd om minder CPU’s te gebruiken. Raadpleeg Cisco bug-ID CSCed15021 (alleen geregistreerde klanten).
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.02 2 1 100 500 0 0 0 1:09 GalChassisVp-review 3.00 0.29 10 3 100 500 0 0 0 11:15 S2w-JobEventSchedule 10.00 0.32 10 7 100 500 0 0 0 10:14 !--- Output suppressed. K2FibAdjMan Stats Re 2.00 0.30 10 4 100 500 0 0 0 6:21 K2FibAdjMan Host Mov 2.00 18.68 10 4 100 500 25 29 28 2134:39 K2FibAdjMan Adj Chan 2.00 0.00 10 0 100 500 0 0 0 0:00 K2FibMulticast Signa 2.00 0.01 10 2 100 500 0 0 0 2:04 K2FibMulticast Entry 2.00 0.00 10 7 100 500 0 0 0 0:00
U kunt de maximale verouderingstijd van een MAC-adres in de mondiale configuratiemodus wijzigen. De opdrachtsyntaxis is is van mac-adres-tabel verouderingsduur-seconden voor een router en mac-adres-tabel verouderingsduur seconden [VLAN-id] voor een Catalyst Switch. Raadpleeg voor meer informatie de Cisco IOS-handleiding voor switching services.
Catalyst 4500 kan een hoog CPU-gebruik weergeven in het RkiosPort Review-proces in de uitvoer van het opdracht voor de gezondheid van het show platform in Cisco IOS-softwarerelease 12.2(25)EWA en 12.2(25)EWA1. Cisco bug CSCeh00 (alleen geregistreerde klanten) veroorzaakt het hoge gebruik dat Cisco IOS-softwarerelease 12.2(25)EWA2 oplost. Dit proces is een achtergrondproces en heeft geen invloed op de stabiliteit van Catalyst 4500-switches.
Switch#show platform health %CPU %CPU RunTimeMax Priority Average %CPU Total Target Actual Target Actual Fg Bg 5Sec Min Hour CPU Lj-poll 1.00 0.02 2 1 100 500 0 0 0 1:09 GalChassisVp-review 3.00 0.29 10 3 100 500 0 0 0 11:15 S2w-JobEventSchedule 10.00 0.32 10 7 100 500 0 0 0 10:14 !--- Output suppressed. K2 Packet Memory Dia 2.00 0.00 15 8 100 500 0 1 1 45:46 K2 L2 Aging Table Re 2.00 0.12 20 3 100 500 0 0 0 7:22 RkiosPortMan Port Re 2.00 87.92 12 7 100 500 99 99 89 1052:36 Rkios Module State R 4.00 0.02 40 1 100 500 0 0 0 1:28 Rkios Online Diag Re 4.00 0.02 40 0 100 500 0 0 0 1:15
Als een poort wordt ingesteld voor zowel de optie spraak-VLAN als de optie toegang-VLAN, dan fungeert de poort als een multi-VLAN-toegangspoort. Het voordeel is dat alleen die VLAN's die voor de spraak- en toegangsopties van VLAN zijn geconfigureerd worden getinkt.
De VLAN's die aan de telefoon worden getrunked verhogen het aantal STP instanties. De switch beheert de STP instanties. Het beheer van de toename in STP instanties verhoogt ook het gebruik van STP CPU.
De trunking van alle VLAN's veroorzaakt ook onnodige uitzending, multicast, en onbekend eenastverkeer om de telefoonverbinding te raken.
Switch#show processes cpu CPU utilization for five seconds: 69%/0%; one minute: 72%; five minutes: 73% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 4 165 24 0.00% 0.00% 0.00% 0 Chunk Manager 2 29012 739091 39 0.00% 0.00% 0.00% 0 Load Meter 3 67080 13762 4874 0.00% 0.00% 0.00% 0 SpanTree Helper 4 0 1 0 0.00% 0.00% 0.00% 0 Deferred Events 5 0 2 0 0.00% 0.00% 0.00% 0 IpSecMibTopN 6 4980144 570766 8725 0.00% 0.09% 0.11% 0 Check heaps 26 539173952 530982442 1015 13.09% 13.05% 13.20% 0 Cat4k Mgmt HiPri 27 716335120 180543127 3967 17.61% 18.19% 18.41% 0 Cat4k Mgmt LoPri 33 1073728 61623 17424 0.00% 0.03% 0.00% 0 Per-minute Jobs 34 1366717824 231584970 5901 38.99% 38.90% 38.92% 0 Spanning Tree 35 2218424 18349158 120 0.00% 0.03% 0.02% 0 DTP Protocol 36 5160 369525 13 0.00% 0.00% 0.00% 0 Ethchnl 37 271016 2308022 117 0.00% 0.00% 0.00% 0 VLAN Manager 38 958084 3965585 241 0.00% 0.01% 0.01% 0 UDLD 39 1436 51011 28 0.00% 0.00% 0.00% 0 DHCP Snooping 40 780 61658 12 0.00% 0.00% 0.00% 0 Port-Security 41 1355308 12210934 110 0.00% 0.01% 0.00% 0 IP Input
Layer 3 besturingspakketten die met RSPAN worden opgenomen, zijn bestemd voor CPU’s in plaats van alleen de RSPAN-doelinterface, die een hoge CPU veroorzaakt. De L3 controle pakketten worden opgenomen door statische CAM ingangen met een voorwaartse naar CPU-actie. De statische CAM-items zijn mondiaal voor alle VLAN’s. Om onnodige overstroming van CPU’s te voorkomen, gebruikt u de optie Per-VLAN Control Traffic Intercept, beschikbaar in Cisco IOS-softwarereleases 12.2(37)SG en hoger.
Switch(config)# access-list hardware capture mode vlan
Statische ACL’s worden bovenaan in invoeroptie TCAM geïnstalleerd om IP-multicast adressen in het 24.0.0*-bereik op te nemen. Statische ACL’s worden tijdens de begintijd geïnstalleerd en verschijnen voordat een gebruiker deze heeft ingesteld. Statische ACL’s worden altijd eerst geraakt en op alle VLAN’s wordt het controleverkeer naar CPU’s onderschept.
De eigenschappen van het controleverkeer van per-VLAN voorzien van selectieve per-VLAN weg beheerde wijze van het opvangen van controleverkeer. De corresponderende statische CAM-items in TCAM worden in de nieuwe modus ongeldig gemaakt. De pakketten van de controle worden gevangen door eigenschap specifieke ACL die aan VLANs wordt bevestigd waarop het snooping of het routeren van eigenschappen wordt toegelaten. Er is geen eigenschap specifieke ACL verbonden aan RSPAN VLAN. Daarom worden alle Layer 3 besturingspakketten die van RSPAN VLAN worden ontvangen niet naar CPU doorgestuurd.
Zoals uit dit document blijkt, is verkeer dat bestemd is voor de CPU een van de belangrijkste oorzaken van het gebruik van hoge CPU’s in Catalyst 4500. Het cpu-verkeer kan ofwel opzettelijk zijn vanwege de configuratie, of onbedoeld door een verkeerde configuratie of een denial-of-service-aanval. De CPU heeft een ingebouwd QoS-mechanisme om schadelijke netwerkeffecten door dit verkeer te voorkomen. Identificeer echter de grondoorzaak van aan CPU gebonden verkeer en elimineer het verkeer indien dit ongewenst is.
Catalyst 4500 staat voor de monitor van het CPU-gebonden verkeer, of in- of uitsparing, met het gebruik van de standaard SPAN-functie toe. De doelinterface sluit aan op een pakketmonitor of een beheerderlaptop die pakketsnuffelsoftware draait. Dit gereedschap helpt u om het verkeer dat de CPU-processen verwerkt, snel en nauwkeurig te analyseren. Het gereedschap biedt de mogelijkheid om individuele wachtrijen te bewaken die aan de CPU-pakketmotor zijn gebonden.
N.B.: de switchmachine heeft 32 wachtrijen voor het CPU-verkeer en de CPU-pakketmotor heeft 16 wachtrijen.
Switch(config)#monitor session 1 source cpu ? both Monitor received and transmitted traffic queue SPAN source CPU queue rx Monitor received traffic only tx Monitor transmitted traffic only <cr> Switch(config)#monitor session 1 source cpu queue ? <1-32> SPAN source CPU queue numbers acl Input and output ACL [13-20] adj-same-if Packets routed to the incoming interface [7] all All queues [1-32] bridged L2/bridged packets [29-32] control-packet Layer 2 Control Packets [5] mtu-exceeded Output interface MTU exceeded [9] nfl Packets sent to CPU by netflow (unused) [8] routed L3/routed packets [21-28] rpf-failure Multicast RPF Failures [6] span SPAN to CPU (unused) [11] unknown-sa Packets with missing source address [10] Switch(config)#monitor session 1 source cpu queue all rx Switch(config)#monitor session 1 destination interface gigabitethernet 1/3 Switch(config)#end 4w6d: %SYS-5-CONFIG_I: Configured from console by console Switch#show monitor session 1 Session 1 --------- Type : Local Session Source Ports : RX Only : CPU Destination Ports : Gi1/3 Encapsulation : Native Ingress : Disabled Learning : Disabled
Als u een PC aansluit die een lichtprogramma draait, kunt u het verkeer snel analyseren. In de uitvoer die in het venster in dit gedeelte weergegeven wordt, kunt u zien dat de oorzaak van het hoge CPU-gebruik een buitensporig aantal STP-BPDU’s is.
N.B.: STP-BPDU's in de CPU-snuffelaar zijn normaal. Maar als u meer ziet dan u verwacht, kunt u de aanbevolen beperkingen voor uw Supervisor Engine hebben overschreden. Zie het gedeelte Spanning-Tree Port Instanties voor meer informatie in dit document.
Catalyst 4500 biedt een ingebouwde CPU-versterker en -decoder om snel het verkeer te identificeren dat de CPU raakt. U kunt deze faciliteit met de opdracht debug inschakelen, zoals het voorbeeld in deze sectie toont. Deze optie implementeert een circulaire buffer die 1024 pakketten tegelijk kan behouden. Wanneer er nieuwe pakketten aankomen, overschrijven ze de oudere pakketten. Deze optie is veilig in gebruik wanneer u problemen hebt met het gebruik van hoge CPU’s.
Switch#debug platform packet all receive buffer platform packet debugging is on Switch#show platform cpu packet buffered Total Received Packets Buffered: 36 ------------------------------------- Index 0: 7 days 23:6:32:37214 - RxVlan: 99, RxPort: Gi4/48 Priority: Crucial, Tag: Dot1Q Tag, Event: Control Packet, Flags: 0x40, Size: 68 Eth: Src 00-0F-F7-AC-EE-4F Dst 01-00-0C-CC-CC-CD Type/Len 0x0032 Remaining data: 0: 0xAA 0xAA 0x3 0x0 0x0 0xC 0x1 0xB 0x0 0x0 10: 0x0 0x0 0x0 0x80 0x0 0x0 0x2 0x16 0x63 0x28 20: 0x62 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x2 0x16 30: 0x63 0x28 0x62 0x80 0xF0 0x0 0x0 0x14 0x0 0x2 40: 0x0 0xF 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x63 Index 1: 7 days 23:6:33:180863 - RxVlan: 1, RxPort: Gi4/48 Priority: Crucial, Tag: Dot1Q Tag, Event: Control Packet, Flags: 0x40, Size: 68 Eth: Src 00-0F-F7-AC-EE-4F Dst 01-00-0C-CC-CC-CD Type/Len 0x0032 Remaining data: 0: 0xAA 0xAA 0x3 0x0 0x0 0xC 0x1 0xB 0x0 0x0 10: 0x0 0x0 0x0 0x80 0x0 0x0 0x2 0x16 0x63 0x28 20: 0x62 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x2 0x16 30: 0x63 0x28 0x62 0x80 0xF0 0x0 0x0 0x14 0x0 0x2 40: 0x0 0xF 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x63
Opmerking: het CPU-gebruik bij het gebruik van een debug-opdracht is altijd bijna 100%. Het is normaal om een hoog CPU-gebruik te hebben wanneer u een debug-opdracht geeft.
Catalyst 4500 biedt een ander handig gereedschap om de bovenste interfaces te identificeren die verkeer/pakketten naar CPU-verwerking verzenden. Dit gereedschap helpt u snel een fout-apparaat te identificeren dat een groot aantal uitzending of andere ontkenning-van-service aanvallen naar de CPU stuurt. Deze optie is ook veilig in gebruik wanneer u problemen hebt met het hoge gebruik van de CPU’s.
Switch#debug platform packet all count platform packet debugging is on Switch#show platform cpu packet statistics !--- Output suppressed. Packets Transmitted from CPU per Output Interface Interface Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Gi4/47 1150 1 5 10 0 Gi4/48 50 1 0 0 0 Packets Received at CPU per Input Interface Interface Total 5 sec avg 1 min avg 5 min avg 1 hour avg ---------------------- --------------- --------- --------- --------- ---------- Gi4/47 23130 5 10 50 20 Gi4/48 50 1 0 0 0
Opmerking: het CPU-gebruik bij het gebruik van een debug-opdracht is altijd bijna 100%. Het is normaal om een hoog CPU-gebruik te hebben wanneer u een debug-opdracht geeft.
De Catalyst 4500 switches verwerken een hoge snelheid van IP, versie 4 (IPv4) pakkettransport in hardware. Sommige functies of uitzonderingen kunnen de voorwaartse oorzaak van bepaalde pakketten via het CPU-procespad veroorzaken. Catalyst 4500 gebruikt een geavanceerd QoS-mechanisme om CPU-gebonden pakketten aan te pakken. Dit mechanisme zorgt voor betrouwbaarheid en stabiliteit van de switches en maximaliseert tegelijkertijd de CPU voor het verzenden van software van pakketten. Cisco IOS-softwarerelease 12.2(25)EWA2 en biedt later aanvullende verbeteringen voor pakketverwerking/procesverwerking en accounting. Catalyst 4500 heeft ook voldoende opdrachten en krachtige gereedschappen om te helpen bij het identificeren van de basisoorzaak van scenario's met een hoog CPU-gebruik. Maar in de meeste gevallen is een hoog CPU-gebruik op Catalyst 4500 geen oorzaak van netwerkinstabiliteit noch een reden tot zorg.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
20-Mar-2008 |
Eerste vrijgave |