Inhoud

Inleiding

Dit document legt de redenen voor een hoog CPU-gebruik door onderbrekingen uit en biedt tips voor het oplossen van problemen en richtlijnen.

Voorwaarden

Vereisten

Er zijn geen specifieke vereisten van toepassing op dit document.

Gebruikte componenten

Dit document is niet beperkt tot specifieke software- en hardware-versies.

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.

Conventies

Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.

Mogelijke oorzaken van gebruik van hoge CPU’s door onderbreking

Een hoog CPU-gebruik op een niveau van onderbreking wordt primair veroorzaakt door pakketten die op een niveau van onderbreking worden verwerkt. Onderbreken worden gegenereerd wanneer een teken uit de console of de hulppoorten van een router wordt uitgevoerd.

Universele Asynchronous ontvanger/zenders (UARTs) zijn traag vergeleken met de verwerkingssnelheid van de router, dus is het onwaarschijnlijk, alhoewel mogelijk, dat console of hulponderbrekingen een hoog CPU-gebruik op de router kunnen veroorzaken (tenzij de router een groot aantal tty lijnen in gebruik heeft).

Er zijn verschillende redenen voor een hoog CPU-gebruik door onderbrekingen:

Ongeschikt switchingpad

Als u problemen wilt oplossen bij dit potentiële probleem, controleert u het volgende:

Uitlijning van CPU’s uitvoeren

De fouten van de uitlijning worden veroorzaakt door verkeerd uitgelijnde teksten en schrijft. Bijvoorbeeld, een lezen van twee bytes waar het geheugenadres geen zelfs meerdere van twee bytes is is een gelijkingsfout.

Lijnfouten worden meestal veroorzaakt door een softwarebug. De CPU corrigeert deze fout, maar als er veel te doen correcties zijn, wordt deze CPU-intensief. Zie Problemen oplossen bij dit type fouten en kennelijke fouten en verstoringen in de uitlijning van problemen oplossen.

Router overbelast met verkeer

De output van de show interfaces en de show interfaces die (verborgen) overschakelen verstrekken informatie over welke interfaces worden overbelast. Om de uitvoer van deze opdrachten in een logbestand op te nemen voor een latere analyse, volgt u de onderstaande stappen.

  1. Geef de eindlengte 0 opdracht uit.

  2. Controleer de uitvoer van showinterfaces. Onderzoek de lading en het aantal bloedvatten op interfaces. De lading is een gemiddelde waarde die, standaard, over vijf minuten wordt berekend. Om dit interval te veranderen, geeft de opdracht load-interval seconden uit, waar de seconden de lengte vertegenwoordigen van de tijd waarvoor gegevens gebruikt worden om de belastingsstatistieken te berekenen. Gebruik een waarde die een veelvoud van 30 is.

    Trots zijn een goede indicatie van een overbelaste router. Zij tonen het aantal keren dat de ontvanger in de haven is uitgeschakeld, mogelijk door overbelasting van buffer of processor. Samen met een hoog CPU-gebruik op een onderbreekt niveau duiden de stijlen erop dat de router met verkeer wordt overbelast.

  3. Controleer de uitvoer van de show interfaces die (verborgen) opdracht veranderen om te zien wat voor verkeer (protocol en switchpad) door de overbelaste interface gaat. Als sommige interfaces te overbelast zijn met verkeer, kunt u overwegen de verkeersstroom in het netwerk opnieuw te ontwerpen of de hardware te verbeteren.

  4. De netwerklus kan ook een reden voor de verkeersoverbelasting zijn. Controleer de netwerktopologie.

Als er een mogelijkheid is dat één apparaat pakketten met een extreem hoge snelheid genereert en dus de router overbelast, kunt u het MAC-adres van dat apparaat bepalen door het ip accounting mac-adres {input|output} interface configuratiebevel toe te voegen aan de configuratie van de overbelaste interface.

De opdracht Show interfaces [ ] mac-accounting toont de verzamelde informatie. Zodra het MAC-adres van het bronapparaat is gevonden, kan het corresponderende IP-adres gevonden worden door de uitvoer van het IP-commando te controleren.

Softwarecuperatie

Als u een bug in de Cisco IOS softwareversie vermoedt die op de router actief is, kunt u de Bug Toolkit controleren (alleen geregistreerde klanten) voor een bug die soortgelijke symptomen in een vergelijkbaar milieu meldt.

Spraakpoorten die op de router zijn ingesteld

Zelfs als er geen verkeer is, blijft de software kanaalgekoppelde signalering (CAS) controleren, die CPU-bronnen gebruikt.

Active Asynchronous Transfer Mode (ATM) interfaces op de router

Zelfs als er geen verkeer is, sturen de ATM interfaces ongeldige cellen (per ATM-standaarden) uit en blijven zij CPU-bronnen gebruiken.

Veel PXF-punten (Parallel Express Forwarding) naar de RP

Wanneer PXF te veel pakketten aan de RP prikt, kan RP worden overbelast. U kunt de hoeveelheid gepunte pakketten vergelijken met de totale hoeveelheid binnenkomende pakketten door de opdracht van de samenvatting van de weergave van het pxf-account uit te geven. Gebruik dezelfde opdracht om uit te zoeken waarom de pakketten aan RP worden gestraft. Dit kan een softwarebug zijn of een verkeer wordt niet ondersteund door PXF.

CPU-profielen

CPU-profilering is een methode waarbij de tijd laag is om te bepalen waar de CPU zijn tijd besteedt. Het systeem werkt door elke vier milliseconden de plaats van de processor te bemonsteren. De telling voor die locatie in het geheugen wordt verhoogd. De grondoorzaak van dit CPU-gebruik wordt bepaald door CPU-profielen.

Voltooi deze stappen om een CPU-profilering uit te voeren. Het CPU-gebruik is uitgevoerd wanneer u een hoog CPU-gebruik ervaart.

N.B.: Al deze opdrachten moeten worden getypt wanneer u de modus activeert

  1. Leg de uitvoer van het toongebied vast en neem het beginadres, het eindadres en de grootte van het hoofdgebied:tekstgebied

  2. Leg de output van show geheugenstatistieken op en controleer de grootte van het grootste blok in processorgeheugen.

  3. De profieltaak onderbreekt niet om alleen profilering voor onderbrekingen te configureren.

  4. Vergelijk de grootte van hoofdbestand:tekstgebied met de grootte van het grootste blok gratis processorgeheugen. Idealiter zou het grootste blok groter moeten zijn dan het hoofdblok:tekst.

    Als het grootste blok kleiner is dan main:tekstgrootte, dan pas de granulariteit aan om te verzekeren dat het profileren een blok van het processorgeheugen zal kunnen krijgen.

    Als het grootste blok groter is dan het hoofdblok:tekstgebied, gebruik een granulariteit van 4.

    Als het grootste blok groter is dan de helft van het hoofdblok:tekstgebied, gebruik een granulariteit van 8.

    Als het grootste blok groter is dan een kwart van het hoofdgebied:tekstgebied, gebruik een granulariteit van 10 (16 in hexadecimaal).

    Opmerking: Gedetailleerdheid moet een vermogen van 2 zijn en moet zo klein mogelijk zijn (maar niet kleiner dan 4)

  5. Profileren starten door profiel uit te voeren

    Profile <starting address> <ending address> <granularity value>

    Het beginadres en het eindadres worden in Stap 1 bepaald.

  6. Wacht 5 tot 10 minuten

  7. Stop met profileren door profielstop te zetten

  8. Leg de uitvoer van viezenprofiel vast.

  9. Zorg ervoor dat het geheugen wordt bevrijd door alle activiteiten onbekend te maken

Opdracht voor switching interfaces tonen

Deze opdracht wordt gebruikt voor het bepalen van actieve switchpaden op interfaces. Raadpleeg voor meer informatie over switching paden in Cisco IOS-software het configureren van switchingpaden.

Het volgende is een steekproefuitvoer van de show interfaces switching opdracht voor één interface:

RouterA#show interfaces switching  
 Ethernet0            
           Throttle count          0          
         Drops         RP          0         SP          0    
   SPD Flushes       Fast          0        SSE          0    
   SPD Aggress       Fast          0   
  SPD Priority     Inputs          0      Drops          0       
      Protocol       Path    Pkts In   Chars In   Pkts Out  Chars Out          
         Other    Process          0          0        595      35700              
             Cache misses          0                      
                     Fast          0          0          0          0                 
                Auton/SSE          0          0          0          0             
               IP Process          4        456          4        456              
             Cache misses          0                      
                     Fast          0          0          0          0                 
                Auton/SSE          0          0          0          0            
              IPX Process          0          0          2        120              
             Cache misses          0                      
                     Fast          0          0          0          0                 
                Auton/SSE          0          0          0          0  
    Trans. Bridge Process          0          0          0          0              
             Cache misses          0                      
                     Fast         11        660          0          0                 
                Auton/SSE          0          0          0          0        
          DEC MOP Process          0          0         10        770              
             Cache misses          0                      
                     Fast          0          0          0          0                 
                Auton/SSE          0          0          0          0             
              ARP Process          1         60          2        120              
             Cache misses          0                      
                     Fast          0          0          0          0                 
                Auton/SSE          0          0          0          0            
              CDP Process        200      63700        100      31183              
             Cache misses          0                      
                     Fast          0          0          0         0                 
                Auton/SSE          0          0          0          0 

De output maakt een lijst van de switchpaden voor alle protocollen die op de interface worden geconfigureerd, zodat u eenvoudig kunt zien wat voor soort en de hoeveelheid verkeer door de router gaat. De volgende tabel verklaart de uitvoervelden:

Veld Definitie
verwerken Verwerkte pakketten. Dit kunnen pakketten zijn die voor de router bestemd zijn, of pakketten waarvoor geen ingang in het snelle schakelcache was.
Gebiedsfouten Pakketten waarvoor geen ingang in snel schakelcache was. Het eerste pakket voor deze bestemming (of stroom - afhankelijk van het type snelle switching ingesteld) wordt verwerkt. Alle volgende pakketten worden snel geschakeld, tenzij de snelle omschakeling uitdrukkelijk op de uitgaande interface wordt uitgeschakeld.
Snel Snel geschakelde pakketten. Snelle switching is standaard ingeschakeld.
Auton/SSE Autonoom geschakeld, silicium geschakeld, of verdeelde geschakelde pakketten. Verkrijgbaar alleen op Cisco 7000 Series routers met een Switch-processor of een Silicon-Switch-processor (voor autonome switching of silicium-switching, respectievelijk) of op Cisco 7500 Series routers met een VIP (voor gedistribueerde switching).

Samsung-scripts om CPU-profielen bij hoge CPU’s te verkrijgen

Dit script slaat de output op flitser op:CPU_profiel bij een CPU-gebruik van meer dan 75%:

service internal

event manager applet High_CPU

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.6 get-type
	 next entry-opge entry-val 75

exit-time 10 poll-interval 5

action 0.1 syslog msg "CPU Utilization is high"

action 0.2 cli command "enable"

action 0.4 cli command "show log | append flash:CPU_Profile.txt"

action 0.5 cli command "show process cpu sorted | append
	 flash:CPU_Profile.txt"

action 0.6 cli command "show interfaces | append
	 flash:CPU_Profile.txt"

action 1.1 cli command "configure terminal"

action 1.2 cli command "profile xxxxxxx yyyyyyyyZ"

action 1.3 cli command "profile start"

action 2.3 syslog msg "Entering TCLSH"

action 2.4 cli command "tclsh"

action 2.5 cli command "after 240000"

action 2.6 cli command "exit"

action 2.9 syslog msg "Exiting TCLSH"

action 3.0 cli command "profile stop"

action 3.1 cli command "show profile terse | append flash:CPU_Profile.txt"

action 3.2 cli command "clear profile"

action 3.3 cli command "unprofile all"

action 4.1 syslog msg "Finished logging information to flash:CPU_Profile.txt..."

action 4.2 cli command "end"

Gerelateerde informatie