Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Conventies

Algemeen Overzicht

Lage platforms (Cisco 1600, 2500 en 4000 Series routers)

High-end platforms (routeprocessors, switchprocessors, siliciumswitchprocessors en routeswitchprocessors)

Platforms op basis van deeltjes

Buffer-tuning

Fabric-buffer reserveren

Bufferlekken

Gerelateerde informatie

Inleiding

Dit document geeft een overzicht van de bufferafstemming op basis van huidige platforms en geeft algemene informatie over de opdracht showbuffers.

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 apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als u in een levend netwerk werkt, zorg er dan voor dat u de potentiële impact van om het even welke opdracht begrijpt alvorens het te gebruiken.

Conventies

Zie de Cisco Technical Tips Convention voor meer informatie over documentconventies.

Algemeen Overzicht

Buffer-tuning staat u toe om de manier te wijzigen waarop een router buffers uit zijn beschikbare geheugen toewijzen en helpt pakketdalingen te voorkomen tijdens een tijdelijke barst van verkeer.

Om te bepalen of uw router zijn buffer moet hebben aangepast, gebruik de showinterfaces en tonen buffers opdrachten.

Als u de uitvoer van de tonen interfaces en de opdrachten van de buffers tonen, of de uitvoer van de show Technical-support (van Enable mode) van uw Cisco-apparaat, kunt u Cisco CLI Analyzer gebruiken om potentiële problemen en problemen weer te geven. Om Cisco CLI Analyzer te gebruiken, moet u een geregistreerde klant zijn, inloggen zijn en JavaScript hebben ingeschakeld.

Hieronder zie je een voorbeeld van de opdrachtoutput van showinterfaces:

Output queue 0/40, 1041 drops; input queue 0/75, 765 drops

35252345 packets input, 547082589 bytes, 940 no buffer

- De in- en uitvoerdruppels zijn te wijten aan de invoer- en uitvoerwachtrijen die worden overschreden door een verkeerscrisis. Dit houdt geen verband met een bufferprobleem, maar eerder met een proceswisselende prestatielimiet.

- "Geen buffer" staat voor het aantal geworpen pakketten omdat er geen vrije buffer is om het pakket te kopiëren.

Gebruik de opdracht buffers weergeven en kijk naar de buffergrootte die overeenkomt met de maximale transmissieeenheid (MTU) van de interface:

Middle buffers, 600 bytes (total 150, permanent 25):

147 in free list (10 min, 150 max allowed)

61351931 hits, 137912 misses, 51605 trims, 51730 created

91652 failures (0 no memory)

De onderstaande tabel verklaart de productie:

sleutelwoord

Beschrijving

totaal

Het totale aantal buffers in de pool, inclusief zowel gebruikte als ongebruikte buffers.

permanent

Het permanente aantal toegewezen buffers in de pool. Deze buffers zitten altijd in het zwembad, en kunnen niet worden opgeruimd.

in de gratis lijst

Het aantal buffers dat momenteel in de pool beschikbaar is en die gratis voor gebruik zijn.

minuten

Het minimum aantal buffers dat de router "in vrije lijst zou moeten proberen te houden." Als het aantal buffers "in vrije lijst" onder de "min" waarde daalt zou de router moeten proberen om meer buffers voor die pool te creëren.

max. toegestaan

Het maximum aantal buffers is toegestaan "in de vrije lijst." Als het aantal buffers "in vrije lijst" groter is dan de "maximum toegestane" waarde, zou de router moeten proberen om buffers uit de pool in te snijden.

hits

Het aantal buffers dat van de vrije lijst is toegewezen.

missen

Het aantal keer dat een buffer is gevraagd, zijn er geen buffers beschikbaar in de vrije lijst, of wanneer er minder dan "min" buffers in de vrije lijst staan.

trimmen

Het aantal buffers dat uit de poel is opgevangen wanneer het aantal buffers "in de vrije lijst" het aantal "maximaal toegestane" buffers overschrijdt.

gecreëerd

Het aantal buffers dat in de poel werd aangemaakt toen het aantal buffers "in de vrije lijst" minder dan "min." was.

geen geheugen

Het aantal keer dat de router nieuwe buffers probeerde te creëren, maar kon niet door onvoldoende vrij geheugen in de router worden veroorzaakt.

fouten

Het aantal mislukkingen om een buffer aan een verzoeker onder onderbreken tijd te verlenen (onthoud dat de router nieuwe buffers op proceswisselniveau kan creëren, zodat "mislukking" niet voorkomt tenzij er "geen geheugen" is). Het aantal "mislukkingen" vertegenwoordigt het aantal pakketten dat is gevallen als gevolg van een buffertekort.

Hoe de buffers door de router worden behandeld

Het aantal buffers "in de vrije lijst" is het aantal beschikbare buffers. Als er een bufferverzoek binnenkomt, wordt een buffer van de "in-gratis lijst" toegewezen.

De IOS-buffers worden gebruikt om twee belangrijke redenen:

- Om verkeer te behandelen dat op de router eindigt.

- Wanneer pakketten worden verzonden.

Als er geen buffers beschikbaar zijn en de snelle omschakeling wordt geactiveerd, is er een bufferstoring en het pakket wordt ingetrokken. Wanneer het bufferpoolbeheerproces een bufferstoring detecteert, creëert het "een nieuwe buffer" om toekomstige storingen te voorkomen.

De router maakt geen nieuwe buffer als het aantal "in vrije lijst" gelijk is aan de "max toegestaan" waarde. Als er niet genoeg geheugen in de router is om een nieuwe buffer te creëren, wordt dit geregistreerd als "geen geheugen". Als het aantal "in gratis lijst" groter is dan het "maximum toegestane" aantal, dan "maakt" de router een of andere overtollige buffers.

Het aantal "fouten" en "geen geheugen" vormen de enige punten van zorg. Er kunnen fouten optreden, maar deze moeten zich na een tijdje stabiliseren. De router maakt buffers aan of trimt indien nodig om het aantal mislukkingen te stabiliseren. Als het aantal storingen blijft toenemen, kan een bufferafstemming nodig zijn.

Als er niet genoeg geheugen is om nieuwe buffers te creëren, zoek dan een bufferlek of een algemeen geheugenprobleem. Buffers worden niet gemaakt in het snelswitching pad, dus als de router probeert om een pakje snel te wijzigen en er geen buffer beschikbaar is, wordt het pakje ingetrokken en wordt er een storing gemeld. Er wordt een nieuwe buffer aangemaakt wanneer de bufferpoolmanager wordt uitgevoerd.

Lage platforms (Cisco 1600, 2500 en 4000 Series routers)

Snelle geschakelde pakketten en procesgeschakelde pakketten delen de zelfde buffers. Deze buffers bevinden zich in het gedeelde geheugen. Het gedeelde geheugen bevindt zich in Dynamic RAM (DRAM) in Cisco 1600 en 2500 Series routers, of in gedeeld RAM (SRAM) voor Cisco 4000, 4500 en 4700 Series routers.

De eerste lijnen van de show memory opdracht vertellen je hoeveel gedeeld geheugen je hebt, hoeveel er momenteel wordt gebruikt en het laagste punt. Wanneer een pakket niet snel kan worden geschakeld, wordt een muiswijzer naar het pakket ingevoegd in de processwitching ingangswachtrij, maar het pakket zelf wordt niet gekopieerd.

Hier is de output van de opdracht showbuffers op een low-end platform (Cisco 4500):

router# show buffers

Buffer elements:

471 in free list (500 max allowed)

870696495 hits, 0 misses, 0 created

Public buffer pools:

Small buffers, 104 bytes (total 50, permanent 50):

49 in free list (20 min, 150 max allowed)

27301678 hits, 23 misses, 20 trims, 20 created

0 failures (0 no memory)

Middle buffers, 600 bytes (total 150, permanent 25):

147 in free list (10 min, 150 max allowed)

61351931 hits, 137912 misses, 51605 trims, 51730 created

91652 failures (0 no memory)

Big buffers, 1524 bytes (total 67, permanent 50):

67 in free list (5 min, 150 max allowed)

46293638 hits, 455 misses, 878 trims, 895 created

0 failures (0 no memory)

VeryBig buffers, 4520 bytes (total 96, permanent 10):

79 in free list (0 min, 100 max allowed)

11818351 hits, 246 misses, 98 trims, 184 created

243 failures (0 no memory)

Large buffers, 5024 bytes (total 10, permanent 0):

10 in free list (0 min, 10 max allowed)

4504003 hits, 873040 misses, 759543 trims, 759553 created

873040 failures (0 no memory)

Huge buffers, 18024 bytes (total 0, permanent 0):

0 in free list (0 min, 4 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Interface buffer pools:

TokenRing0 buffers, 4516 bytes (total 48, permanent 48):

0 in free list (0 min, 48 max allowed)

3099742 hits, 9180771 fallbacks

16 max cache size, 1 in cache

TokenRing1 buffers, 4516 bytes (total 48, permanent 48):

0 in free list (0 min, 48 max allowed)

335172 hits, 403668 fallbacks

16 max cache size, 16 in cache

Serial1 buffers, 1524 bytes (total 96, permanent 96):

63 in free list (0 min, 96 max allowed)

33 hits, 0 fallbacks

0 max cache size, 0 in cache

Serial2 buffers, 1524 bytes (total 96, permanent 96):

63 in free list (0 min, 96 max allowed)

701370936 hits, 268 fallbacks

0 max cache size, 0 in cache

Serial3 buffers, 1524 bytes (total 96, permanent 96):

63 in free list (0 min, 96 max allowed)

33 hits, 0 fallbacks

0 max cache size, 0 in cache

Serial0 buffers, 4546 bytes (total 96, permanent 96):

28 in free list (0 min, 96 max allowed)

346854 hits, 5377043 fallbacks

32 max cache size, 27 in cache

De interfacebufferpools worden gebruikt door de interfaces voor input/output (I/O). Wanneer er geen buffers meer zijn in de vrije lijst van de interfacebuffer gaat de router naar de openbare bufferpools als reserve. Er is geen prestatie-hit voor een reserve.

Caching is een softwaremanipulatie die de beschikbaarheid van buffers voor het onderbreken van de bestuurderscode versnelt door wat overhead te omzeilen.

Opmerking: Normaal gesproken dienen de buffers van de interface niet te worden aangepast.

High-end platforms (routeprocessors, switchprocessors, siliciumswitchprocessors en routeswitchprocessors)

Hier is de output van de opdracht showbuffers op een high-end platform:

Router# show buffers

Buffer elements:

498 in free list (500 max allowed)

326504974 hits, 0 misses, 0 created

Public buffer pools:

Small buffers, 104 bytes (total 150, permanent 150):

140 in free list (30 min, 250 max allowed)

564556247 hits, 148477066 misses, 16239797 trims, 16239797 created

29356200 failures (0 no memory)

Middle buffers, 600 bytes (total 120, permanent 120):

116 in free list (20 min, 200 max allowed)

319750574 hits, 85689239 misses, 9671164 trims, 9671164 created

26050704 failures (0 no memory)

Big buffers, 1524 bytes (total 100, permanent 100):

98 in free list (10 min, 300 max allowed)

20130595 hits, 14796572 misses, 251916 trims, 251916 created

11813639 failures (0 no memory)

VeryBig buffers, 4520 bytes (total 15, permanent 15):

14 in free list (5 min, 300 max allowed)

22966334 hits, 3477687 misses, 13113 trims, 13113 created

2840089 failures (0 no memory)

Large buffers, 5024 bytes (total 12, permanent 12):

12 in free list (0 min, 30 max allowed)

849034 hits, 1979463 misses, 1028 trims, 1028 created

1979456 failures (0 no memory)

Huge buffers, 18024 bytes (total 6, permanent 5):

4 in free list (2 min, 13 max allowed)

338440 hits, 1693496 misses, 1582 trims, 1583 created

1640218 failures (0 no memory)

Kop-pools

De openbare bufferpools bevinden zich in DRAM, en worden systeembuffers genoemd. Het gedeelde geheugen op de Route/Switch Processor (RSP) wordt systeempakketgeheugen (MEMD) genoemd en maakt 2 MB geheugen mogelijk. Op de routeprocessor (RP) en de switchprocessor (SP) (of Silicon Switch Processor - SSP) bevinden de systeembuffers zich in de RP en de MEMD zich in de SP (of SSP).

Wanneer een pakket wordt ingevoerd, wordt het in de MEMD opgeslagen door de ontvangende interfaceprocessor (behalve in het geval van de veelzijdige interfaceprocessor - VIP). Als deze niet snel kan worden geschakeld, wordt het gehele pakket gekopieerd naar een systeembuffer in de DRAM. Daarom zijn de buffers die u in de opdracht Bbuffers ziet de systeembuffers in de DRAM.

De show controllers opdracht toont de interface buffers in MEMD. Ook in dit geval wordt het niet aangeraden de buffers van de interface aan te passen. Wanneer een pakje niet snel kan worden geschakeld en naar een systeembuffer wordt gekopieerd, wordt het pakje ingetrokken en wordt een fout geteld wanneer er geen systeembuffer beschikbaar is.

Platforms op basis van deeltjes

Cisco 3600 en 7200 Series routers gebruiken deeltjes. De interfacebuffers zijn atoombuffers, genoemd deeltjes, waarin de pakketten worden gesplitst. Wanneer een pakket niet snel kan worden geschakeld, moet de router het in één systeembuffer opnieuw assembleren, omdat de processwitching code geen deeltjes kan behandelen.

Hieronder vindt u de uitvoer van de opdracht showbuffers op Cisco 3600:

Router# show buffers

Buffer elements:

499 in free list (500 max allowed)

136440 hits, 0 misses, 0 created

Public buffer pools:

Small buffers, 104 bytes (total 50, permanent 50):

49 in free list (20 min, 150 max allowed)

4069435 hits, 141 misses, 73 trims, 73 created

52 failures (0 no memory)

Middle buffers, 600 bytes (total 25, permanent 25):

25 in free list (10 min, 150 max allowed)

628629 hits, 21 misses, 21 trims, 21 created

3 failures (0 no memory)

Big buffers, 1524 bytes (total 50, permanent 50):

50 in free list (5 min, 150 max allowed)

9145 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

VeryBig buffers, 4520 bytes (total 10, permanent 10):

10 in free list (0 min, 100 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Large buffers, 5024 bytes (total 0, permanent 0):

0 in free list (0 min, 10 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Huge buffers, 18024 bytes (total 0, permanent 0):

0 in free list (0 min, 4 max allowed)

0 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

Interface buffer pools:

CD2430 I/O buffers, 1524 bytes (total 0, permanent 0):

0 in free list (0 min, 0 max allowed)

0 hits, 0 fallbacks

Header pools:

Header buffers, 0 bytes (total 265, permanent 256):

9 in free list (10 min, 512 max allowed)

253 hits, 3 misses, 0 trims, 9 created

0 failures (0 no memory)

256 max cache size, 256 in cache

Particle Clones:

1024 clones, 0 hits, 0 misses

Public particle pools:

F/S buffers, 256 bytes (total 384, permanent 384):

128 in free list (128 min, 1024 max allowed)

256 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

256 max cache size, 256 in cache

Normal buffers, 1548 bytes (total 512, permanent 512):

356 in free list (128 min, 1024 max allowed)

188 hits, 0 misses, 0 trims, 0 created

0 failures (0 no memory)

128 max cache size, 128 in cache

Private particle pools:

Ethernet0/0 buffers, 1536 bytes (total 96, permanent 96):

0 in free list (0 min, 96 max allowed)

96 hits, 0 fallbacks

96 max cache size, 64 in cache

Serial0/0 buffers, 1548 bytes (total 14, permanent 14):

0 in free list (0 min, 14 max allowed)

14 hits, 0 fallbacks

14 max cache size, 14 in cache

BRI0/0 buffers, 1548 bytes (total 14, permanent 14):

0 in free list (0 min, 14 max allowed)

14 hits, 0 fallbacks

14 max cache size, 14 in cache

BRI0/0:1 buffers, 1548 bytes (total 14, permanent 14):

0 in free list (0 min, 14 max allowed)

14 hits, 0 fallbacks

14 max cache size, 14 in cache

BRI0/0:2 buffers, 1548 bytes (total 14, permanent 14):

0 in free list (0 min, 14 max allowed)

14 hits, 0 fallbacks

14 max cache size, 14 in cache

TokenRing0/0 buffers, 1548 bytes (total 64, permanent 64):

0 in free list (0 min, 64 max allowed)

64 hits, 0 fallbacks

64 max cache size, 64 in cache

4 buffer threshold, 0 threshold transitions

Particuliere deeltjespools worden door de interfaces gebruikt en moeten niet worden aangepast. Als er geen buffer beschikbaar is in de gratis lijst, valt de router terug naar de openbare deeltjespools.

De buffers van de header worden gebruikt om een lijst op te nemen van alle deeltjes die tot een pakje behoren.

Opmerking: voor processwitching worden systeembuffers gebruikt. Op Cisco 3600 bevinden al deze buffers zich in het I/O-geheugen dat in DRAM staat. U kunt de hoeveelheid I/O-geheugen specificeren met behulp van de opdracht geheugengrootte. Op de Cisco 7200 bevinden de bufferpools van het interfacedeelstuk voor de hoge bandbreedte poortadapters (PAs) zich in SRAM.

Buffer-tuning

Hieronder staat een voorbeeld uit de opdracht showbuffers:

Middle buffers, 600 bytes (total 150, permanent 25):

147 in free list (10 min, 150 max allowed)

61351931 hits, 137912 misses, 51605 trims, 51730 created

91652 failures (0 no memory)

In dit voorbeeld hebben de middenbuffers een hoop mislukkingen. Dit is geen ernstig probleem, aangezien het slechts 0, 1 % van de treffers vertegenwoordigt. Deze getallen zouden gemakkelijk kunnen worden verbeterd door een beetje op de buffer af te stemmen.

Buffer-tuning wordt alleen uitgevoerd wanneer pakketten niet via CEF kunnen worden geschakeld.

Afhankelijk van de architectuur van de router, behoren de buffers die u aanpast in het algemeen tot I/O geheugen (laag-eind), of het hoofdgeheugen (hoog-eind). Voordat u de buffers afstemt, moet u eerst controleren of u voldoende vrij I/O of hoofdgeheugen hebt met behulp van de eerste regels van de opdracht Show memory.

Hier zijn een paar algemene waarden die u kunt gebruiken:

- permanent: neem het aantal totale buffers in een bassin en voeg ongeveer 20 % toe .

- min. vrij: min-vrij worden ingesteld op ongeveer 20-30% van het permanente aantal toegewezen buffers in het bassin.

- max.: de maximale vrije waarde instellen op iets meer dan de som van permanente en minimale factoren.

In het voorbeeld van de bufferafstemming hierboven, konden we deze opdrachten in de mondiale configuratiemodus invoeren:

buffers middle permanent 180

buffers middle min-free 50

buffers middle max-free 230

Normaal gesproken creëert Cisco IOSH® Software buffers dynamisch, zodat deze instellingen fijn zijn. In het geval van een doorbraak van het verkeer heeft de router mogelijk niet genoeg tijd om de nieuwe buffers te creëren, en kan het aantal fouten blijven toenemen. Gebruik de opdracht buffers om de standaardinstellingen van de bufferpool te wijzigen. Zorg ervoor dat wijzigingen in de bufferwaarden met voorzichtigheid worden doorgevoerd, aangezien ongeschikte bufferinstellingen de systeemprestaties kunnen beïnvloeden. Als u de buffertellers wilt wissen, zal de router moeten worden opnieuw geladen.

Er zijn twee soorten verkeersuitbarstingen:

- Langzaam barsten: In dit geval heeft de router voldoende tijd om nieuwe buffers te maken. Vergroot het aantal min-vrije buffers. Door gratis buffers te gebruiken, kunt u de min-vrije waarde bereiken en dan nieuwe buffers creëren.

- Snel barsten: Met snelle verkeersbursten heeft de router niet genoeg tijd om nieuwe buffers te maken, zodat u de vrije buffers moet gebruiken. Wijzig het aantal permanente buffers om dit te doen.

Conclusie: Als het aanmaken van teller na de eerste afstemming toeneemt, verhoog de min-vrije (langzame uitbarsting). Als de mislukkingstaak toeneemt, maar niet de teller (snel barst) aanmaken, verhoogt u de permanente waarde.

Fabric-buffer reserveren

U kunt de opdracht bufferreserve van de stof invoeren om de systeemdoorvoersnelheid te verbeteren en de ASIC-buffers te behouden.

Deze opdracht wordt op deze modules ondersteund:

- WS-X6704-10 GE switch

- WS-X6748-SFP switch

- WS-X6748 GE-TX switch

- WS-X6724-SFP switch

Deze opdracht wordt niet ondersteund op Cisco 7600 Series routers die zijn geconfigureerd met een Supervisor Engine 32.

fabric buffer-reserve [high | low | medium | value]

Waarschuwing: gebruik deze opdracht alleen onder de richting van Cisco TAC.

Dit zijn veelvoorkomende omstandigheden waarin deze opdracht nuttig is:

- Het lijnprotocol wordt voor meerdere interfaces verlaagd

- Overdrachten worden op meerdere interfaces gezien

- Poorten verlaten vaak en voegen zich bij EtherChannel

- TestMacRecognition-test faalt herhaaldelijk voor lijnkaarten met DFC

Bufferlekken

Hieronder staat een voorbeeld van de uitvoer van de opdracht showbuffers:

Big buffers, 1524 bytes (total 1556, permanent 50):

52 in free list (5 min, 150 max allowed)

43670437 hits, 5134 misses, 0 trims, 1506 created

756 failures (0 no memory)

Deze output geeft een bufferlek aan in de grote buffers pool. Er zijn in totaal 1556 grote buffers in de router en slechts 52 zitten in de vrije lijst. Iets is alle buffers gebruiken en ze niet bevrijden. Zie Buffer-lekken voor meer informatie over lekkages van probleemoplossing.

Gerelateerde informatie

- Problemen oplossen

- Buffer-lekken voor probleemoplossing

- Basis systeembeheeropdrachten

- De grootte van de systeembuffer wijzigen

- Technische ondersteuning - Cisco-systemen