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 geeft een overzicht van de bufferafstemming op basis van huidige platforms en geeft algemene informatie over de opdracht showbuffers.
Er zijn geen specifieke vereisten van toepassing op dit document.
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.
Zie de Cisco Technical Tips Convention voor meer informatie over documentconventies.
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.
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.
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.
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.
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.
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
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.