De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
Dit document beschrijft de CPU-pakketverwerkingsarchitectuur en toont u hoe u de oorzaken van hoog CPU-gebruik op Catalyst 4500 switches kunt identificeren.
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
Opmerking: Dit document is alleen van toepassing op Cisco IOS® op software 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 zorgen dat u de potentiële impact van elke opdracht begrijpt.
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Catalyst 4500 Series switches, inclusief Catalyst 4948 switches, heeft een geavanceerde pakketverwerkingsmethodologie voor cpu-gebonden verkeer. Een veel voorkomend probleem is het hoge CPU-gebruik op deze switches. Dit document bevat informatie over de CPU-pakketverwerkingsarchitectuur en laat zien hoe u de oorzaken van een hoog CPU-gebruik op deze switches kunt identificeren. Het document maakt ook een lijst van bepaalde gebruikelijke netwerk- of configuratiescenario's die een hoog CPU-gebruik op de Catalyst 4500-serie veroorzaken
Voordat u de CPU-pakketverwerkingsarchitectuur en de probleemoplossing met een hoog CPU-gebruik bekijkt, moet u begrijpen op welke verschillende manieren hardwaregerelateerde doorsturen van switches en Cisco IOS-softwarerouterrouters de CPU gebruiken. Het algemene misverstand is dat een hoog CPU-gebruik duidt op de uitputting van resources op een apparaat en de dreiging van een crash. Een capaciteitsprobleem is een van de symptomen van een hoog CPU-gebruik op Cisco IOS-routers. Een probleem met de capaciteit is echter bijna nooit een symptoom van hoog CPU-gebruik met op hardware gebaseerde voorwaartse switches zoals Catalyst 4500. Catalyst 4500 is ontworpen om pakketten te doorsturen in de hardware-toepassingsspecifieke geïntegreerde schakeling (ASIC) en verkeersdoorsturen snelheden te bereiken van maximaal 102 miljoen pakketten per seconde (Mpps).
Catalyst 4500 CPU voert deze functies uit:
Beheert geconfigureerde softwareprotocollen, bijvoorbeeld:
Routing-protocol
Cisco Discovery Protocol (CDP)
Poortaggregatieprotocol (PAgP)
VLAN Trunk-protocol (VTP)
Dynamic Trunking Protocol (DTP)
Programma's configuratie/dynamische items naar de hardware-ASIC's, bijvoorbeeld:
Toegangscontrolelijsten (ACL’s)
CEF-vermeldingen
Intern beheert verschillende componenten, bijvoorbeeld:
Power over Ethernet (PoE) lijnkaarten
Voedingseenheden
Ventilatoreenheid
Beheert toegang tot de switch, bijvoorbeeld:
Telnet
console
Simple Network Management Protocol (SNMP)
Pakketten doorsturen via het softwarepad, bijvoorbeeld:
Internetwork Packet Exchange (IPX)-routed pakketten, die alleen worden ondersteund op het softwarepad
Maximale fragmentatie van transmissie-eenheid (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 voor de netwerkverrichting essentieel zijn. Een voorbeeld van deze essentiële pakketten is Bridge Protocol Data Unit (BPDU's) voor configuraties van overspannen-boomtopologieën. Andere pakketten kunnen echter software-doorgestuurd dataverkeer zijn. Voor deze scenario's moeten de overschakelende ASIC's pakketten naar de CPU verzenden voor verwerking:
Pakketten die naar de CPU worden gekopieerd, maar de oorspronkelijke pakketten worden in hardware geschakeld.
Een voorbeeld is host MAC adres leren.
Pakketten die voor verwerking naar de CPU worden verzonden
Voorbeelden zijn:
Routing-protocolupdates
BPDU’s
Een opzettelijke of onopzettelijke verkeersstroom
Pakketten die naar de CPU worden verzonden voor doorsturen
Een voorbeeld zijn pakketten die IPX of AppleTalk routing nodig hebben.
Catalyst 4500 heeft een ingebouwd QoS-mechanisme (Quality of Service) om onderscheid te maken tussen soorten verkeer die voor de CPU zijn bestemd. Het mechanisme maakt het onderscheid 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 te kunnen verwerken. Afbeelding 1 toont deze wachtrijen. Tabel 1 toont de wachtrijen en de pakkettypen die in elke wachtrij staan. Met de 16 wachtrijen kan Catalyst 4500 de pakketten in een wachtrij plaatsen op basis van het pakkettype of de prioriteit.
Afbeelding 1 - Catalyst 4500 gebruikt meerdere CPU-wachtrijen
Tabel 1 - Catalyst 4500 beschrijving van wachtrij
Wachtrijnummer | Wachtrijnaam | Wachtrij voor pakketten |
---|---|---|
0 | Esmp | ESMP1pakketten (interne beheerpakketten) voor de lijnkaartASIC's of ander componentbeheer |
1 | Regeling | L2 regelvlakke pakketten, zoals STP, CDP, PAgP, LACP2 of UDLD3 |
2 | Host Learning | Kaders met onbekende bron MAC-adressen die worden gekopieerd naar de CPU om de L2-doorstuurtabel te maken |
3, 4, 5 | L3 FWD Highest,L3 FWD Hoog/Gemiddeld,L3 FWD Laag | Pakketten die in software moeten worden doorgestuurd, zoals GRE4tunnels Als ARP5 onopgelost blijft voor het IP-adres van de bestemming, worden pakketten naar deze wachtrij verzonden. |
6, 7, 8 | L2 FWD Highest,L2 FWD Hoog/Gemiddeld,L2 FWD Laag | Pakketten die als resultaat van overbrugging worden doorgestuurd
|
9, 10 | L3 RX Hoog, L3 RX Laag | L3 besturingsplane verkeer, bijvoorbeeld routeringsprotocollen, dat bestemd is voor CPU IP-adressen Voorbeelden zijn Telnet, SNMP en SSH8. |
11 | RPF-fout | Multicastpakketten die de RPF9-controle niet hebben doorstaan |
12 | ACL-fwd (snuffelen) | Pakketten die worden verwerkt door de functies DHCP10 snooping, dynamische ARP-inspectie of IGMP11-snooping |
13 | ACL-logbestand, onbereikbaar | Pakketten die een ACE12 raken met het sleutelwoord of de pakketten die werden gelaten vallen toe te schrijven aan ontkennen in een output ACL of het gebrek aan een route aan de bestemming Deze pakketten vereisen de generatie van onbereikbare berichten ICMP. |
14 | ACL-sw verwerken | Pakketten die worden gekopieerd naar de CPU door een gebrek aan extra ACL-hardwarebronnen, zoals TCAM13, voor security ACL |
15 | MTU Fail/Ongeldig | Pakketten die moeten worden gefragmenteerd omdat de grootte van de uitvoerinterface MTU kleiner is dan de grootte van het pakket |
1ESMP = even eenvoudig beheerprotocol.
2LACP = Link Aggregation Control Protocol.
3UDLD = unidirectionele linkdetectie.
4GRE = generieke routing-inkapseling.
5ARP = Address Resolution Protocol.
6SVI = switched virtuele interface.
7TTL = Tijd om te leven.
8SSH = Secure Shell-protocol.
9RPF = doorsturen van omgekeerde pad
10DHCP = Dynamic Host Configuration Protocol.
11IGMP = Internet Group Management Protocol.
12ACE = access control entry.
13TCAM = ternair content adresseerbaar geheugen.
Deze wachtrijen zijn afzonderlijke wachtrijen:
L2 FWD HighestorL3 FWD Highest
L2 FWD Hoog/MediumorL3 FWD Hoog/Gemiddeld
L2 FWD LaagL3 FWD Laag
L3 RX HighorL3 RX Laag
Pakketten worden in deze wachtrijen geplaatst op basis van het QoS-label, dat de DSCP-waarde (differentiated services code point) is van het IP-type service (ToS). Pakketten met een DSCP van 63 worden bijvoorbeeld in de wachtrij van L3 Fwd Highestwachtrij geplaatst. U kunt de pakketten zien die worden ontvangen en voor deze 16 wachtrijen in de output van de cpu pakketstatistieken van het platform van de wijze van de platformcpu allen bevel gelaten vallen. De output van dit bevel is zeer lang. Geef de opdracht platform cpu-pakketstatistieken uit om alleen de gebeurtenissen zonder nul weer te geven. Een alternatieve opdracht is de opdracht Show Platform Capture. Gebruik de opdracht Show Platform Capture alleen als u Cisco IOS-softwarerelease 12.1(11)EW of hoger gebruikt. Dit commando is sindsdien afgekeurd. Deze oudere opdracht maakte echter deel uit van de opdracht How tech-support in Cisco IOS-softwarereleases die eerder zijn dan Cisco IOS-softwarerelease 12.2(20)EWA.
Gebruik de opdracht theshow platform cpu-pakketstatistieken voor alle probleemoplossing.
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 wijst gewichten toe aan de verschillende wachtrijen die in tabel 1 worden weergegeven. De CPU wijst de gewichten toe op basis van belang, type, en verkeersprioriteit, of DSCP. De CPU bedient de wachtrij op basis van de relatieve gewichten van de wachtrij. Als er bijvoorbeeld zowel een controlepakket, zoals een BPDU, als een ICMP-echoverzoek in behandeling is, dan dienen de CPU-services eerst het controlepakket in. Een buitensporige hoeveelheid verkeer met een lage prioriteit of minder belangrijk verkeer verbergt 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 CPU-gebruik. Dit vermogen van het netwerk om stabiel te blijven is kritieke informatie die u moet begrijpen.
Er is een ander zeer belangrijk implementatiedetail van Catalyst 4500 CPU-pakketverwerking. Als de CPU al onderhoud heeft uitgevoerd aan pakketten of processen met een hoge prioriteit, maar meer reservecycli heeft voor een bepaalde periode, voert de CPU de wachtrijpakketten met een lage prioriteit uit of voert achtergrondprocessen met een lagere prioriteit uit. Het hoge gebruik van cpu als resultaat van laag-prioritaire pakketverwerking of achtergrondprocessen wordt als normaal beschouwd omdat cpu constant probeert om al beschikbare tijd te gebruiken. Op deze manier streeft de CPU naar maximale prestaties van de switch en het netwerk zonder dat dit ten koste gaat van de stabiliteit van de switch. Catalyst 4500 beschouwt de CPU als onderbenut, tenzij de CPU voor 100% wordt gebruikt voor één tijdsleuf.
Cisco IOS-softwarerelease 12.2(25)EWA2 en hoger hebben het pakket- en procesverwerkingsmechanisme van de CPU en de accounting verbeterd. Gebruik daarom deze releases op uw Catalyst 4500-implementaties.
Nu u de Catalyst 4500 CPU pakketverwerkingsarchitectuur en het ontwerp begrijpt, kunt u nog steeds proberen te achterhalen waarom uw Catalyst 4500 CPU-gebruik zo hoog is. Catalyst 4500 beschikt over de opdrachten en tools die nodig zijn om de basisoorzaak van het hoge CPU-gebruik te identificeren. Nadat u de reden hebt geïdentificeerd, kunnen de beheerders een van deze acties uitvoeren:
Correctieve actie — Dit kan configuratie of netwerkwijzigingen omvatten, of de aanmaak van een verzoek van Cisco Technical Support voor verdere analyse.
Geen actie — Catalyst 4500 werkt volgens verwachting. De CPU vertoont een hoog CPU-gebruik omdat de Supervisor Engine de CPU-cycli maximaliseert om alle noodzakelijke software-pakketdoorsturen en achtergrondtaken uit te voeren.
Verzeker u ervan dat u de reden voor een hoog CPU-gebruik identificeert, ook al is het niet in alle gevallen nodig corrigerende maatregelen te nemen. Een hoog CPU-gebruik kan slechts een symptoom zijn van een probleem in het netwerk. Er kan een oplossing voor de basisoorzaak van dat probleem nodig zijn om het CPU-gebruik te verlagen.
Afbeelding 2 toont de methodologie voor probleemoplossing die moet worden gebruikt om de basisoorzaak van het hoge CPU-gebruik van Catalyst 4500 te identificeren.
Afbeelding 2 - Methode voor probleemoplossing met hoog CPU-gebruik op Catalyst 4500 Switches
De algemene stappen voor probleemoplossing zijn:
Geef de cpu van showprocessen uit om de Cisco IOS-processen te identificeren die CPU-cycli gebruiken.
Geef het platform gezondheidscommando uit om de platformspecifieke processen verder te identificeren.
Als het zeer actieve proces isK2CPUMan Review, geef de platformcpu pakketstatistieken van het platform uit om het type verkeer te identificeren dat de CPU raakt.
Als de activiteit niet te wijten is aan het K2CPUman Review-proces, sla stap 4 over en ga verder met stap 5.
Identificeer de pakketten die de CPU raken met behulp van de tools voor probleemoplossing om, indien nodig, het verkeer te analyseren dat naar de CPU is bestemd.
Een voorbeeld van de te gebruiken tools voor probleemoplossing is de CPU Switched Port Analyzer (SPAN).
Bekijk dit document en het gedeelte Problemen oplossen bij gemeenschappelijk gebruik van hoge CPU’s voor algemene oorzaken.
Als u de basisoorzaak nog steeds niet kunt identificeren, neemt u contact op met Cisco Technical Support.
De belangrijke eerste stap is het CPU-gebruik van uw switch te kennen voor uw configuratie en netwerkinstallatie. Gebruik de opdracht hoe processen worden uitgevoerd om het CPU-gebruik op de Catalyst 4500 switch te identificeren. De voortdurende update van het gebruik van cpu van de basislijn kan noodzakelijk zijn aangezien u meer configuratie aan de netwerkopstelling toevoegt of aangezien uw patroon van het netwerkverkeer verandert.Afbeelding 2 wijst op dit vereiste.
Deze uitvoer is 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 te kunnen uitvoeren:
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 Cisco 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%
Deze x% staat voor het totale CPU-gebruik en y% voor de CPU die op afschakelniveau wordt gebruikt. Wanneer u problemen oplost met Catalyst 4500 switches, concentreert u zich alleen op het totale CPU-gebruik.
Deze show verwerkt cpuoutput laat zien dat er twee processen zijn die de CPU gebruiken—Cat4k Mgmt HiPriandCat4k Mgmt LoPri. Deze twee processen voegen meerdere platformspecifieke processen samen die de essentiële beheerfuncties op Catalyst 4500 uitvoeren. Deze processen proces controle vliegtuig evenals gegevenspakketten die moeten software-switched of worden verwerkt.
Om te zien welke van de platformspecifieke processen de CPU gebruiken in de context vanCat4k Mgmt HiPriandCat4k Mgmt LoPri, geef het platform health commando.
Elk van de platformspecifieke processen heeft een doel/verwacht gebruik van de CPU. Wanneer dat proces binnen het doel valt, voert de CPU het proces uit in de context met hoge prioriteit. Deze manier verwerkt cpucommand output tellingen die gebruik onderCat4k Mgmt HiPri. Als een proces het doel/verwachte gebruik overschrijdt, loopt dat proces onder de laag-prioritaire context. Deze manier verwerkt cpucommandoutput telt dat extra gebruik onder Cat4k Mgmt LoPri. DitCat4k Mgmt LoPriis wordt ook gebruikt om achtergrond- en andere processen met een lage prioriteit uit te voeren, zoals consistentiecontrole en leesinterfacetellers. Met dit mechanisme kan de CPU indien nodig processen met een hoge prioriteit uitvoeren en kunnen de resterende ongebruikte CPU-cycli worden gebruikt voor de processen met een lage prioriteit. Het overschrijden van het doel-CPU-gebruik met een klein bedrag, of een tijdelijke stijging in het gebruik, is geen indicatie van een probleem dat moet worden onderzocht.
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
Theshow platform health commando biedt veel informatie die alleen relevant is voor een ontwikkelaar. Als u problemen wilt oplossen met een hoog CPU-gebruik, zoekt u een hoger getal in de kolom%CPU in de uitvoer. Vergeet ook niet de rechterkant van die rij te bekijken om het CPU-gebruik van dat proces in de 1 minuut en 1 uur gemiddelde %CPU-kolommen te verifiëren. Soms zijn processen tijdelijk piek maar houden de CPU niet lang vast. Een deel van het tijdelijk hoge CPU-gebruik vindt plaats tijdens het programmeren van hardware of het optimaliseren van het programmeren. Een piek in CPU-gebruik is bijvoorbeeld normaal tijdens de hardwareprogrammering van een grote ACL in de TCAM.
In de output van het platform healthcommando in de sectieBegrijp de show verwerkt cpu Command op de Catalyst 4500 Switches , deStub-JobEventSchedulen de K2CpuMan Reviewprocessen gebruiken een hoger aantal CPU cycli.Tabel 2 biedt enige basisinformatie over de gebruikelijke platformspecifieke processen die in de output van theshow platform healthcommando verschijnen.
Tabel 2 - Beschrijving van de platformspecifieke processen van het showplatform health Command
Platformspecifieke procesnaam | Beschrijving |
---|---|
voorlopig onderzoek | Statusbeheer chassis/lijnkaart |
Ebm | Ethernet-brugmodule, zoals veroudering en bewaking |
AC-Flattener/K2ACLman | ACL-samenvoegingsproces |
KXaclPathMan - PadTagMan-Review | ACL-staatsbeheer en -onderhoud |
K2CPUman-recensie | Het proces dat het softwarepakket door:sturen uitvoert Als u hoog CPU-gebruik toe te schrijven aan dit proces ziet, onderzoek de pakketten die cpu met gebruik van de bevel van de pakketstatistieken van het platform cpu raken. |
K2Accel PacketMan | Het stuurprogramma dat interactie heeft met de pakketengine voor het verzenden van pakketten die zijn bestemd voor de CPU |
K2ACLcamMan | Beheert de input en output TCAM hardware voor QoS en veiligheidseigenschappen |
K2ACL-politietabel | Beheert de invoer- en uitvoerpolicers |
K2L2 | Vertegenwoordigt het L2 het door:sturen subsysteem van Catalyst 4500 Cisco IOS-software Deze processen zijn verantwoordelijk voor het onderhoud van de diverse L2-tabellen. |
K2PortMan-recensie | Beheert de verschillende poortgerelateerde programmeerfuncties |
K2Fib | FIB1-beheer |
K2FibFlow-cachegeheugen | PBR2cachebeheer |
K2BadjMan | Beheer van FIB-nabijheidstabel |
K2Fib-multicast | Beheert multicast FIB-vermeldingen |
K2MetStatsMan review | Beheert BMO3-statistieken |
K2QoDBLman-beoordeling | QoS DBL4 beheren |
IRMfibThrottler Thro | IP-routermodule |
K2 L2 Verouderingstabel Re | Beheert de verouderende functie van L2 |
GalChassisVp-review | Bewaking van chassisstatus |
S2w-planning voor taakgebeurtenissen | Beheert de S2W5protocollen om lijnkaartstatus te controleren |
Stub-JobEventSchedul | Stub ASIC-gebaseerde lijnkaartbewaking en -onderhoud |
RkiosPortMan-poort | Havenstaatcontrole en -onderhoud |
RKIOS-modulestaat R | Bewaking en onderhoud van lijnkaarten |
EthHoleLinecardMan | Beheert GBICs6 in elk van de lijnkaarten |
1FIB = Forwarding Information Base.
2PBR = op beleid gebaseerde routing.
3MET = Multicast uitbreidingstabel.
4DBL = Dynamische bufferbeperking.
5S2W = serieel te bedraden.
6 GBIC = Gigabit interfaceconversiemodules.
Deze sectie behandelt enkele gemeenschappelijke hoge het gebruiksproblemen van cpu op Catalyst 4500 switches.
Een van de meest voorkomende redenen voor een hoog CPU-gebruik is dat Catalyst 4500 CPU is bezig met het proces van pakketten voor software-doorgestuurde pakketten of controlepakketten. De voorbeelden van software-door:sturen pakketten zijn IPX of controlepakketten, zoals BPDUs. Een klein aantal van deze pakketten wordt doorgaans naar de CPU verzonden. Een consistent groot aantal pakketten kan echter wijzen op een configuratiefout of een netwerkgebeurtenis. U moet de oorzaak van gebeurtenissen identificeren die leiden tot de voorwaartse doorzending van pakketten naar de CPU voor verwerking. Met deze identificatie kunt u de problemen met hoog CPU-gebruik debuggen.
Enkele van de gebruikelijke redenen voor een hoog CPU-gebruik als gevolg van processwitched pakketten zijn:
Andere redenen voor de switch van pakketten naar de CPU zijn:
MTU fragmentatie-ben zeker dat alle interfaces langs de weg van het pakket zelfde MTU hebben.
ACL met TCP-vlaggen anders dan vastgesteld
IP, versie 6 (IPv6) routing—Dit wordt alleen ondersteund via het softwareswitchingpad.
GRE—Dit wordt alleen ondersteund via het softwareswitchpad.
Ontkenning van verkeer in de input of output router ACL (RACL)
Opmerking: Dit is snelheidsbeperkt in Cisco IOS-softwarerelease 12.1(13)EW1 en hoger.
Geef het onbereikbare ip-commando uit onder de interface van de ACL.
Extreem ARP- en DHCP-verkeer raakt de CPU voor verwerking vanwege een groot aantal direct verbonden hosts
Als u een DHCP-aanval vermoedt, gebruikt u DCHP-snuffelen om het DHCP-verkeer vanaf een specifieke host-poort te beperken.
Buitensporige SNMP-polling door een legitiem of verkeerd gedraaid eindstation
Catalyst 4500 ondersteunt 300 Spanning-Tree poortinstanties of actieve poorten in de modus Per VLAN Spanning Tree+ (PVST+). De ondersteuning vindt plaats op alle Supervisor-motoren, behalve op de Supervisor Engine II+ en II+TS en Catalyst 4948. De Supervisor Engine II+ en II+TS en Catalyst 4948 ondersteunen maximaal 1500 poortinstanties. Als u deze STP-instantieresultaten overschrijdt, vertoont de switch een hoog CPU-gebruik.
Dit diagram toont een Catalyst 4500 met drie trunkpoorten die elk VLAN’s 1 tot en met 100 dragen. Dit komt overeen met 300 Spanning-Tree poortinstanties. In het algemeen, kunt u overspannen-boom poortinstanties met deze formule berekenen:
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 toegangspoorten, maar de drie trunks dragen VLAN’s 1 tot en met 100:
Total number of STP instances = 0 + 100 + 100 + 100 = 300
Stap 1: Controleer het Cisco IOS-proces met show processes cpu
de opdracht.
In deze sectie worden de opdrachten besproken die een beheerder gebruikt om het probleem van een hoog CPU-gebruik te beperken. Als u de opdracht cpu van showprocessen uitgeeft, kunt u zien dat twee hoofdprocessen, Cat4k Mgmt LoPriandSpanning Tree, voornamelijk de CPU gebruiken. Met alleen deze informatie weet u dat het overspannen - boomproces een aanzienlijk deel van de CPU-cycli verbruikt.
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 Cisco 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 verbruikt, geef het platform healthcommando uit. Van deze uitvoer kunt u zien dat het K2CPUman Review-proces, 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 !--- 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 deshow platform cpu packet statistics
opdracht uit om te controleren welke CPU-wachtrij het CPU-gebonden pakket ontvangt. De output 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 getekend. U kunt bepalen dat de pakketten die de CPU verwerkt en de reden voor het hoge CPU-gebruik 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 deshow spanning-tree summary
opdracht uit. U kunt controleren of het ontvangstbewijs van BPDU's het gevolg is van een hoog aantal Spanning-Tree poortinstanties. De output identificeert duidelijk de worteloorzaak:
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 is een groot aantal VLAN’s met de configuratie van de PVST+-modus. 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 er een groot aantal VLAN’s wordt doorgestuurd op alle trunkpoorten. In dit geval, snoei manueel VLANs die niet noodzakelijk van de boomstam zijn om het aantal actieve havens STP aan goed onder de geadviseerde waarde te laten vallen.
Tip: Zorg ervoor dat u IP-telefoonpoorten niet als trunkpoorten configureert. Dit is een veel voorkomende misconfiguratie. Configureer IP-telefoonpoorten met een spraak-VLAN-configuratie. Deze configuratie leidt tot een pseudo boomstam, maar vereist niet u om onnodige VLANs manueel te snoeien. Raadpleeg de configuratiehandleiding voor de configuratiesoftware van de Voice Interface voor meer informatie over het configureren van spraakpoorten. Niet-Cisco IP-telefoons ondersteunen deze spraak- of hulpconfiguratie van VLAN niet. U moet de poorten handmatig snoeien met niet-Cisco IP-telefoons.
Wanneer pakketten op dezelfde interface worden gerouteerd, of wanneer het verkeer op dezelfde L3-interface wordt ingedrukt of uitgezet, kan dit resulteren in een ICMP-omleiding door de switch. Als de switch weet dat het volgende hopapparaat naar de eindbestemming in hetzelfde subnetje zit als het verzendapparaat, genereert de switch ICMP om naar de bron te verwijzen. De redirect berichten wijzen op aan de bron om het pakket rechtstreeks naar het volgende hopapparaat te verzenden. De berichten wijzen erop dat het volgende hopapparaat een betere route aan de bestemming heeft, een route van één minder hop dan deze switch.
In het diagram in deze sectie communiceert PC A met de webserver. De standaardgateway van PC A wijst op het VLAN 100 interface-IP-adres. De volgende hop router die Catalyst 4500 in staat stelt om de bestemming te bereiken, bevindt zich echter in hetzelfde subnetje als PC A. Het beste pad is in dit geval om rechtstreeks naar "router" te verzenden. Catalyst 4500 stuurt een ICMP-omleidingsbericht naar PC A. Het bericht draagt PC A op om de pakketten die voor de webserver bestemd zijn via router te verzenden, in plaats van via Catalyst 4500. In de meeste gevallen reageren de eindapparaten echter niet op de ICMP-omleiding. Het gebrek aan reactie veroorzaakt Catalyst 4500 om veel CPU-cycli aan de generatie van deze ICMP-omleidingen uit te geven voor alle pakketten die de Catalyst doorstuurt via dezelfde interface als de ingangspakketten.
Standaard is ICMP-omleiding ingeschakeld. Gebruik deip icmp redirects
opdracht om deze uit te schakelen. De opdracht geven onder de relevante SVI- of L3-interface.
Opmerking: Aangezien ip icmp redirects
dit een standaardopdracht is, is deze niet zichtbaar in deshow running-configuration
opdrachtoutput.
show processes cpu
opdracht.Geef de opdrachtshow processes cpu
uit. Je ziet dat twee hoofdprocessen, Cat4k Mgmt LoPriandIP Input, voornamelijk de CPU gebruiken. Met alleen deze informatie weet u dat het proces van IP-pakketten een aanzienlijk deel van de CPU verbreedt.
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.show platform health
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
show platform health
opdracht.De output van het show platform health
bevel bevestigt het gebruik van 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 deshow platform cpu packet statistics
opdracht uit om te controleren welke CPU-wachtrij het CPU-gebonden pakket ontvangt. Je kunt zien dat de L3 Fwd Lowwachtrij veel verkeer ontvangt.
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 te bepalen welk verkeer de CPU raakt. Zie Gereedschap 1 voor meer informatie over de CPU-SPAN: Controleer het CPU-verkeer met SPAN—Cisco IOS-softwarerelease 12.1(19)EW en Latersectie van dit document. Voltooi een analyse van het verkeer en een configuratie met gebruik van hetshow running-configuration
bevel. In dit geval wordt een pakket via dezelfde interface gerouteerd, wat leidt tot de kwestie van een ICMP-omleiding voor elk pakket. Deze basisoorzaak is een van de gebruikelijke redenen voor een hoog CPU-gebruik op Catalyst 4500.
U kunt verwachten dat het bronapparaat op de ICMP zal reageren en 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 pakket dat de switch van het verzendapparaat ontvangt. Deze omleidingen kunnen veel CPU-bronnen gebruiken. De oplossing is ICMP uit te schakelen om opnieuw te sturen. Geef hetno ip redirects
commando uit onder de interfaces.
Dit scenario kan voorkomen wanneer u ook secundaire IP-adressen hebt geconfigureerd. Wanneer u de secundaire IP-adressen inschakelt, wordt IP-omleiding automatisch uitgeschakeld. Zorg ervoor dat u de IP-omleidingen niet handmatig inschakelt.
Als deze ICMP wordt omgeleid; Routing Packets op dezelfde interface geeft aan dat de meeste eindapparaten niet reageren op ICMP-omleidingen. Schakel deze optie daarom in de regel uit.
Catalyst 4500 ondersteunt IPX- en AppleTalk-routing alleen via software-Forwarding Path. Bij de configuratie van dergelijke protocollen is een hoger CPU-gebruik normaal.
Opmerking: De omschakeling van IPX- en AppleTalk-verkeer in hetzelfde VLAN vereist geen processwitching. Alleen pakketten die gerouteerd moeten worden, vereisen software path Forwarding.
show processes cpu
opdracht.Geef de show processes cpu
opdracht uit om te controleren welk Cisco IOS-proces de CPU gebruikt. In deze opdrachtoutput, merk 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
show platform health
opdracht.De output van hetshow platform health
bevel bevestigt het gebruik van 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, moet u deshow platform cpu packet statistics
opdracht uitgeven.
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 IPX- of AppleTalk-routing heeft geconfigureerd, moet identificatie van de basisoorzaak eenvoudig zijn. Maar om 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 Latersectie van dit document.
In dit geval moet de beheerder de CPU van de basislijn updaten naar de huidige waarde. Catalyst 4500 CPU gedraagt zich zoals verwacht wanneer de CPU softwareswitched pakketten verwerkt.
Catalyst 4500 leert de MAC-adressen van verschillende hosts als het MAC-adres niet al in de MAC-adrestabel staat. De switching engine stuurt een kopie van het pakket met het nieuwe MAC-adres naar de CPU.
Alle VLAN-interfaces (Layer 3) gebruiken het hardwareadres van de chassisbasis als hun MAC-adres. Dientengevolge, is er geen ingang in de MAC- adrestabel, en de pakketten die aan deze VLAN interfaces worden bestemd worden niet verzonden naar cpu voor verwerking.
Als er een excessief aantal nieuwe MAC-adressen voor de switch te leren is, kan een hoog CPU-gebruik resulteren.
show processes cpu
opdracht.Geef show processes cpu
de opdracht uit om te controleren welk Cisco IOS-proces de CPU gebruikt. Let op dat in deze opdrachtoutput de Cat4k Mgmt LoPri het hoogste proces 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 output van de opdracht van de platformgezondheid bevestigt het gebruik van 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, geef de opdracht platform cpu pakketstatistieken uit.
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 deshow platform health
opdracht toont aan dat de CPU veel nieuwe MAC-adressen ziet. Deze situatie is vaak het gevolg van de instabiliteit van de netwerktopologie. Als de topologie van de overspannende structuur bijvoorbeeld verandert, genereert de switch meldingen van topologiewijzigingen (TCN’s). De kwestie van TCNs vermindert de rijpingstijd tot 15 seconden in PVST+ wijze. MAC-adresvermeldingen worden doorgespoeld als de adressen niet binnen de tijdsperiode worden herkend. In het geval van Rapid STP (RSTP) (IEEE 802.1w) of MST (IEEE 802.1s) verouderen de vermeldingen onmiddellijk als het TCN uit een andere switch komt. Deze pagina uit veroorzaakt dat de adressen van MAC opnieuw worden geleerd. Dit is geen belangrijk probleem als de topologieveranderingen zeldzaam zijn. Maar er kan een excessief aantal topologiewijzigingen zijn vanwege een flappende link, defecte switch of hostpoorten die niet zijn ingeschakeld voor PortFast. Een groot aantal MAC-tabelspoelbeurten en het daaropvolgende opnieuw leren kan resulteren. De volgende stap in de identificatie van de basisoorzaak is het oplossen van problemen in het netwerk. De switch werkt zoals verwacht en verstuurt de pakketten naar de CPU voor het leren van hostadressen. Identificeer en repareer het defecte apparaat dat resulteert in excessieve TCN's.
Uw netwerk kan veel apparaten hebben die verkeer in uitbarstingen verzenden, wat ervoor zorgt dat de MAC-adressen worden verouderd en vervolgens opnieuw worden verdiend op de switch. In dit geval, verhoog de MAC adreslijst verouderingstijd om wat verlichting te verstrekken. Met een langere verouderingstijd, behouden de switches de apparatenMAC-adressen in de tabel voor een langere periode vóór de leeftijd uit.
Voorzichtig: Pas na een zorgvuldige afweging deze leeftijdsverandering doorvoeren. De verandering kan leiden tot een verkeerszwart gat als u apparaten in uw netwerk hebt die mobiel zijn.
Catalyst 4500 programmeert de geconfigureerde ACL’s met gebruik van de Cisco TCAM. Met TCAM kunnen de ACL’s worden toegepast op het hardwarematige pad. Er is geen invloed op de prestaties van de switch, met of zonder ACL's in het doorstuurpad. De prestaties zijn constant ondanks de grootte van de ACL omdat de prestaties van de ACL-lookups aan lijntarief zijn. TCAM is echter een eindige hulpbron. Daarom als u een overmatig aantal ACL-vermeldingen configureert, overschrijdt u de TCAM-capaciteit.Tabel 3 toont het aantal TCAM-bronnen dat beschikbaar is op elk van de Catalyst 4500 Supervisor-motoren en -switches.
Tabel 3 - TCAM-capaciteit op Catalyst 4500 Supervisor-motoren/Switches
Product | TCAM van de eigenschap (per Richting) | QoS TCAM (per richting) |
---|---|---|
Supervisor Engine II+/II+TS | 8192 vermeldingen met 1024 maskers | 8192 vermeldingen met 1024 maskers |
Supervisor Engine III/IV/V en Catalyst 4948 | 16.384 vermeldingen met 2048 maskers | 16.384 vermeldingen met 2048 maskers |
Supervisor Engine V-10 GE en Catalyst 4948-10 GE | 16.384 ingangen met 16.384 maskers | 16.384 ingangen met 16.384 maskers |
De switch gebruikt de functie TCAM om de security ACL te programmeren, zoals RACL en VLAN ACL (VACL). De switch maakt ook gebruik van de TCAM-functie voor beveiligingsfuncties zoals IP Source Guard (IPSG) voor dynamische ACL’s. De switch gebruikt de QoS TCAM om classificatie en policer ACL’s te programmeren.
Wanneer Catalyst 4500 geen TCAM-bronnen meer gebruikt tijdens de programmering van een security ACL, vindt een gedeeltelijke toepassing van de ACL plaats via het softwarepad. De pakketten die deze ACE's raken, worden verwerkt in software, wat een hoog CPU-gebruik veroorzaakt. ACL is vanaf de bovenkant geprogrammeerd. Met andere woorden, als de ACL niet in de TCAM past, is ACE op het onderste gedeelte van de ACL waarschijnlijk niet geprogrammeerd in de TCAM.
Dit waarschuwingsbericht verschijnt wanneer een TCAM-overloop plaatsvindt:
%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 can be software switched.
Deze foutmelding wordt weergegeven in de opdrachtoutput voor logboekregistratie. Het bericht geeft overtuigend aan dat sommige softwareverwerking kan plaatsvinden en er dus een hoog CPU-gebruik kan zijn.
Opmerking: Als u een grote ACL wijzigt, kunt u dit bericht kort zien voordat de gewijzigde ACL opnieuw geprogrammeerd wordt in de TCAM.
Geef de opdracht van de processen uit. U kunt zien dat het CPU-gebruik hoog is omdat de Cat4k Mgmt LoPriprocess de meeste CPU-cycli overneemt.
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
show platform health
opdracht.Geef deshow platform health
opdracht uit. Je kunt zien dat de 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 daarom welk type verkeer de CPU-wachtrij raakt. Geef de opdracht platform cpu-pakketstatistieken uit. U kunt zien dat de ACL sw verwerkingswachtrij een hoog aantal pakketten ontvangt. Daarom is TCAM-overflow de oorzaak van dit hoge CPU-gebruiksprobleem.
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, bepaalde u de worteloorzaak in dit scenario. Verwijder de ACL die de overloop heeft veroorzaakt of minimaliseer de ACL om overloop te voorkomen. Controleer ook de configuratiehandleiding voor het configureren van netwerkbeveiliging met ACL-configuratierichtlijnen om de configuratie en programmering van ACL's in de hardware te optimaliseren.
Catalyst 4500 ondersteunt vastlegging van pakketdetails die een specifieke ACL-ingang raken, maar buitensporige vastlegging kan een hoog CPU-gebruik veroorzaken. Vermijd het gebruik van logkeywords, behalve tijdens de fase van de verkeersontdekking. Tijdens de fase van de verkeersontdekking, identificeert u het verkeer dat door uw netwerk stroomt waarvoor u niet uitdrukkelijk ACE's hebt geconfigureerd. Gebruik het sleutelwoord niet om statistieken te verzamelen. In Cisco IOS-softwarerelease 12.1(13)EW en hoger zijn de logberichten beperkt in snelheden. Als u berichten gebruikt om het aantal pakketten te tellen die ACL aanpassen, is de telling niet nauwkeurig. Gebruik in plaats daarvan deshow access-list
opdracht voor nauwkeurige statistieken. Identificatie van deze basisoorzaak is gemakkelijker omdat een overzicht van de configuratie of logberichten kan wijzen op het gebruik van de ACL-logfunctie.
Geef hetshow processes cpu
formulier uit om te controleren welk Cisco IOS-proces de CPU gebruikt. In deze opdrachtoutput ziet 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 platformspecifieke proces dat de CPU gebruikt. Geef deshow platform health
opdracht uit. In de output, merk op dat het K2CPUman controleproces het grootste deel van de cpu cycli gebruikt. Deze activiteit geeft aan dat de CPU bezig is met het verwerken van pakketten die ervoor bestemd zijn.
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 show platform cpu packet statistics
de opdracht uit. In deze opdrachtoutput kunt u zien dat het ontvangstbewijs van pakketten aan het ACLlogkeyword te wijten is:
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, bepaalde u de worteloorzaak in dit scenario. Om dit probleem te voorkomen, verwijdert u het trefwoord uit de ACL’s. In Cisco IOS-softwarerelease 12.1(13)EW1 en hoger zijn de pakketten snelheidsbeperkt, 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 het show access-list acl_id
opdrachtoutput.
Layer 2 Forwarding-lussen kunnen worden veroorzaakt door een slechte implementatie van Spanning Tree Protocol (STP) en verschillende problemen die van invloed kunnen zijn op STP.
show processes cpu
opdrachtIn deze sectie worden de opdrachten besproken die een beheerder gebruikt om het probleem van een hoog CPU-gebruik te beperken. Als u deshow processes cpu
opdracht uitgeeft, kunt u zien dat twee hoofdprocessen, Cat4k Mgmt LoPriandSpanning Tree, voornamelijk de CPU gebruiken. Met alleen deze informatie weet u dat het overspannen - boomproces een aanzienlijk deel van de CPU-cycli verbruikt.
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 CPU verbruikt, geef hetshow platform health
bevel uit. Van deze uitvoer kunt u zien dat het K2CPUman Review-proces, 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 !--- 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 deshow platform cpu packet statistics
opdracht uit om te controleren welke CPU-wachtrij het CPU-gebonden pakket ontvangt. De output 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 getekend. U kunt bepalen dat de pakketten die de CPU verwerkt en de reden voor het hoge CPU-gebruik 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 sommige stappen niet nodig):
Identificeer de lus.
Ontdek het bereik van de lus.
Doorbreek de lus.
Repareer de oorzaak van de lus.
Redunantie herstellen.
Elk van de stappen wordt in detail uitgelegd bij Problemen oplossen en Doorsturen - STP voor probleemoplossing op Catalyst Switches die Cisco IOS-systeemsoftware uitvoeren.
BDPU Guard—Beveiligt STP tegen onbevoegde netwerkapparaten die zijn aangesloten op poorten die snel zijn ingeschakeld. Zie Verbetering in Spanning Tree Port Fast BPDU Guard voor meer informatie.
Loop Guard—Verhoogt de stabiliteit van Layer 2-netwerken. Raadpleeg Verbeteringen in Spanning-Tree Protocol met behulp van Loop Guard en BPDU Skew Detection voor meer informatie.
Root Guard-dwingt plaatsing van root-brug in het netwerk af. Raadpleeg Spanning Tree Protocol Root Guard-verbetering voor meer informatie.
UDLD—Detecteert unidirectionele koppelingen en voorkomt het doorsturen van lusjes. Raadpleeg Begrijpen en configureren van de functie Unidirectionele Link Detection Protocol voor meer informatie.
Dit zijn een paar andere bekende oorzaken van hoog CPU-gebruik:
Hoog CPU-gebruik bij aansluiting op een IP-telefoon met behulp van trunkpoorten
Spike tijdens grote ACL-programmering
De piek in CPU-gebruik vindt plaats tijdens de toepassing of verwijdering van een grote ACL uit een interface.
Catalyst 4500 vertoont een hoog CPU-gebruik wanneer een of meer van de koppelingen in bijlage overmatig beginnen te flappen. Deze situatie doet zich voor in Cisco IOS-softwarereleases eerder dan Cisco IOS-softwarerelease 12.2(20)EWA.
Geef de opdracht voor processen uit om te controleren welk Cisco IOS-proces de CPU gebruikt. In deze opdrachtoutput, merk 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 output van de opdracht van de platformgezondheid wijst erop dat de KxAclPathMan createproces de CPU opgebruikt. 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
Logboekregistratie inschakelen voor link-up/down-berichten. Deze vastlegging is standaard niet ingeschakeld. De mogelijkheid helpt je om de beledigende links snel af te zwakken. Geef de koppeling-status voor de logginggebeurtenis uit onder alle interfaces. U kunt het commando interface range gebruiken om gemakkelijk een reeks interfaces in te schakelen, zoals in dit voorbeeld wordt getoond:
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 flappende interface hebt geïdentificeerd, sluit u de interface af om het probleem met hoog CPU-gebruik op te lossen. Cisco IOS-softwarerelease 12.2(20)EWA en hoger hebben het gedrag van Catalyst 4500 voor deze flapping-links verbeterd. De impact op de CPU is dus niet zo groot als voor de verbetering. Vergeet niet dat dit proces een achtergrondproces is. Hoog CPU-gebruik vanwege dit probleem veroorzaakt geen nadelige effecten op de Catalyst 4500 switches.
Catalyst 4500 kan kortstondige spikes in het CPU-gebruik tijdens een FIB-controle van de tabelconsistentie tonen. De FIB-tabel is de L3-tabel voor doorsturen die door het CEF-proces wordt gemaakt. De consistentiecontrole handhaaft consistentie tussen de Cisco IOS-softwaretabel en de hardware-vermeldingen. Deze consistentie zorgt ervoor dat pakketten niet verkeerd worden gerouteerd. De controle komt om de 2 seconden voor en loopt als een laag-prioriteit achtergrondproces. Dit proces is normaal gedrag en interfereert niet met andere processen of pakketten met een hoge prioriteit.
De output van de helderheidsopdracht van het platform toont aan dat K2Fib Consistency het grootste deel van CPU verteert.
Opmerking: het gemiddelde CPU-gebruik voor dit proces is niet significant over een minuut of uur, wat bevestigt dat de controle een korte periodieke review is. Bij dit achtergrondproces worden alleen de programma's met inactieve 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
De Catalyst 4500 kan een hoog CPU-gebruik weergeven in het K2FibAdjMan Host Moveproces. Dit hoge gebruik verschijnt in de output van theshow platform healthcommando. Veel MAC-adressen verlopen vaak of worden geleerd op nieuwe poorten, wat dit hoge CPU-gebruik veroorzaakt. De standaardwaarde van mac-adres-lijst verouderende-tijd is 5 minuten of 300 seconden. De tijdelijke oplossing voor dit probleem is om de verouderingstijd van het MAC-adres te verhogen, of u kunt het netwerk engineeren om het hoge aantal MAC-adresbewegingen te vermijden. Cisco IOS-softwarerelease 12.2(18)EW en hoger hebben dit procesgedrag verbeterd om minder CPU’s te verbruiken. Raadpleeg de Cisco-bug IDCed15021.
Opmerking: Alleen geregistreerde Cisco-gebruikers kunnen toegang krijgen tot interne Cisco-tools en -informatie.
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 wijzigen in de globale configuratiemodus. De opdrachtsyntaxis ismac-address-table aging-time seconden voor een router en mac-address-table aging-time seconden [vlan VLAN-id] voor een Catalyst Switch. Raadpleeg voor meer informatie de Cisco IOS-switching services opdrachtreferentiehandleiding.
Catalyst 4500 kan een hoog CPU-gebruik in het RkiosPortMan Port Reviewproces weergeven bij de uitvoer van de opdracht HealthCommand van het platform in Cisco IOS-softwarerelease 12.2(25)EWA en 12.2(25)EWA1. Cisco bug IDCeh08768veroorzaakt het hoge gebruik, dat door Cisco IOS-softwarerelease 12.2(25)EWA2 wordt opgelost. Dit proces is een achtergrondproces en heeft geen invloed op de stabiliteit van Catalyst 4500 switches.
Opmerking: Alleen geregistreerde Cisco-gebruikers kunnen toegang krijgen tot interne Cisco-tools en -informatie.
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 is geconfigureerd voor zowel de spraak-VLAN-optie als de toegang-VLAN-optie, fungeert de poort als een multi-VLAN-toegangspoort. Het voordeel is dat alleen die VLAN’s die voor de spraak- en toegangsVLAN-opties zijn geconfigureerd, trunked zijn.
VLAN’s die aan de telefoon worden getrunkt, verhogen het aantal STP-instanties. De switch beheert de STP instanties. Beheer van de toename in STP-instanties verhoogt ook het STP CPU-gebruik.
De trunking van alle VLAN’s zorgt er ook voor dat onnodige uitzending, multicast en onbekend unicastverkeer de telefoonlink raakt.
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 zijn opgenomen, zijn bestemd voor CPU in plaats van alleen de RSPAN-doelinterface, die een hoge CPU veroorzaakt. De L3 besturingspakketten worden opgenomen door statische CAM-ingangen met voorwaartse CPU-actie. De statische CAM-vermeldingen zijn globaal voor alle VLAN’s. Om onnodige CPU-overstroming te voorkomen, gebruikt u de functie Per-VLAN Control Traffic Intercept die beschikbaar is in Cisco IOS-softwarereleases 12.2(37)SG en hoger.
Switch(config)#access-list hardware capture mode vlan
Statische ACL’s worden bovenaan geïnstalleerd in de invoerfunctie TCAM om controlepakketten op te nemen die bestemd zijn voor bekende IP-multicast adressen in het bereik 24.0.0.*. Statische ACL’s worden geïnstalleerd op opstarttijd en verschijnen voor een door de gebruiker ingestelde ACL. Statische ACL’s worden altijd eerst geraakt en onderscheppingscontroleverkeer naar CPU’s op alle VLAN’s.
De functie voor de onderschepping van verkeer per VLAN biedt selectieve per-VLAN-padbeheerde modus voor het opnemen van controleverkeer. De bijbehorende statische CAM-vermeldingen in de invoerfunctie TCAM worden in de nieuwe modus ongeldig gemaakt. Besturingspakketten worden opgenomen door functiespecifieke ACL die is gekoppeld aan VLAN’s waarop functies voor snuffelen of routing zijn ingeschakeld. Er is geen functiespecifieke ACL gekoppeld aan RSPAN VLAN. Daarom worden alle Layer 3-besturingspakketten die van RSPAN VLAN worden ontvangen, niet naar CPU doorgestuurd.
Zoals dit document heeft aangetoond, is verkeer dat bestemd is voor de CPU een van de belangrijkste oorzaken van hoog CPU-gebruik op Catalyst 4500. Het voor CPU bestemde verkeer kan ofwel opzettelijk zijn vanwege de configuratie, ofwel onbedoeld vanwege een verkeerde configuratie of een denial-of-service-aanval. De CPU heeft een ingebouwd QoS-mechanisme om nadelige netwerkeffecten door dit verkeer te voorkomen. Identificeer echter de basisoorzaak van CPU-gebonden verkeer en elimineer verkeer als dit ongewenst is.
Catalyst 4500 maakt de monitor van het CPU-gebonden verkeer mogelijk, zowel bij in- als uitgang, met gebruik van de standaard SPAN-functie. De doelinterface maakt verbinding met een pakketmonitor of een beheerderlaptop die pakketsnuiversoftware uitvoert. Deze tool helpt om snel en nauwkeurig het verkeer te analyseren dat door de CPU wordt verwerkt. Het gereedschap biedt de mogelijkheid om afzonderlijke wachtrijen te bewaken die zijn gekoppeld aan de CPU-pakketengine.
Opmerking: De switching engine heeft 32 wachtrijen voor het CPU-verkeer en de CPU-pakketengine 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 snuffelprogramma uitvoert, kunt u snel het verkeer analyseren. In de uitvoer die in het venster in deze sectie wordt weergegeven, kunt u zien dat de oorzaak van het hoge CPU-gebruik een buitensporig aantal STP-BPDU's is.
Opmerking: STP BPDU's in de CPU-snuffel zijn normaal. Maar als u meer ziet dan u verwacht, hebt u de aanbevolen limieten voor uw Supervisor Engine overschreden. Zie het gedeelte Een hoog aantal Spanning-Tree Port-instanties van dit document voor meer informatie.
Catalyst 4500 biedt een ingebouwde CPU-scanner en decoder om snel het verkeer te identificeren dat de CPU raakt. U kunt deze voorziening met dedebug
opdracht inschakelen, zoals in het voorbeeld in deze sectie wordt getoond. Deze functie implementeert een circulaire buffer die 1024 pakketten per keer kan behouden. Als er nieuwe pakketten aankomen, overschrijven ze de oudere pakketten. Deze functie is veilig te gebruiken wanneer u problemen oplost met hoog CPU-gebruik.
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 uitgeven van eendebug
opdracht is altijd bijna 100%. Het is normaal om veel CPU te gebruiken wanneer u eendebug
opdracht geeft.
Catalyst 4500 biedt een ander nuttig gereedschap om de bovenste interfaces te identificeren die verkeer/pakketten verzenden voor CPU-verwerking. Deze tool helpt u snel een apparaat te identificeren dat een groot aantal uitzending of andere denial-of-service aanvallen naar de CPU stuurt. Deze functie is ook veilig te gebruiken wanneer u problemen oplost met hoog CPU-gebruik.
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 wanneer u een debug-opdracht geeft, is altijd bijna 100%. Het is normaal om een hoog CPU-gebruik te hebben wanneer u een debug-opdracht geeft.
Catalyst 4500 switches verwerken het doorsturen van IP-pakketten van versie 4 (IPv4) met een hoge snelheid in hardware. Sommige functies of uitzonderingen kunnen de voorwaartse werking van bepaalde pakketten via het CPU-procespad veroorzaken. Catalyst 4500 gebruikt een geavanceerd QoS-mechanisme om CPU-gebonden pakketten te verwerken. Dit systeem garandeert de betrouwbaarheid en stabiliteit van de switches en maximaliseert tegelijkertijd de CPU voor het doorsturen van de software van pakketten. Cisco IOS-softwarerelease 12.2(25)EWA2 en hoger bieden extra verbeteringen voor pakket-/procesverwerking en accounting. Catalyst 4500 heeft ook voldoende opdrachten en krachtige tools 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 of reden tot zorg.
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
2.0 |
01-Aug-2023 |
Hercertificering |
1.0 |
13-Jul-2005 |
Eerste vrijgave |