whycomputer.com >> Datornätverk >  >> Hårdvara

Vad är intern och extern minnesfragmentering?

Minnesfragmentering uppstår när ett system innehåller minne som är tekniskt ledigt men som datorn inte kan använda. Minnesallokeraren, som tilldelar nödvändigt minne till olika uppgifter, delar upp och tilldelar minnesblock så som de krävs av program; när data raderas, fler minnesblock frigörs i systemet och läggs tillbaka till poolen av tillgängligt minne. När allokerarens åtgärder eller återställning av tidigare upptagna minnessegment leder till block eller till och med byte av minne som är för små eller för isolerade för att kunna användas av minnespoolen, fragmentering har inträffat. Fragmentering kan ta en rejäl bit av en dators lediga minne och det är ofta orsaken till frustrerande felmeddelanden utan minne.

Intern fragmentering

Intern fragmentering uppstår när minnestilldelaren lämnar extra utrymme tomt i ett minnesblock som har tilldelats för en klient. Detta händer vanligtvis eftersom processorns design föreskriver att minnet måste skäras i block av vissa storlekar - till exempel block kan behöva delas jämnt med fyra, åtta eller 16 byte. När detta inträffar, en klient som behöver 57 byte minne, till exempel, kan tilldelas ett block som innehåller 60 byte, eller till och med 64. De extra byte som klienten inte behöver gå till spillo, och med tiden kan dessa små bitar av oanvänt minne bygga upp och skapa stora mängder minne som inte kan användas av allokatorn. Eftersom alla dessa värdelösa byte finns i större minnesblock, fragmenteringen anses vara intern.

Extern fragmentering

Extern fragmentering sker när minnestilldelaren lämnar delar av oanvända minnesblock mellan delar av tilldelat minne. Till exempel, om flera minnesblock tilldelas i en kontinuerlig rad men ett av de mittersta blocken i raden frigörs (kanske för att processen som använde det minnesblocket slutade köra), det fria blocket är fragmenterat. Blocket är fortfarande tillgängligt för tilldelaren senare om det finns ett behov av minne som passar i det blocket, men blocket är nu oanvändbart för större minnesbehov. Det kan inte slängas tillbaka med det totala lediga minnet som finns tillgängligt för systemet, eftersom totalt minne måste vara sammanhängande för att det ska kunna användas för större uppgifter. På det här sättet, hela delar av ledigt minne kan hamna isolerade från helheten som ofta är för små för betydande användning, vilket skapar en övergripande minskning av ledigt minne som med tiden kan leda till brist på tillgängligt minne för viktiga uppgifter.

Fragmentering kan innebära stora problem för system

Fragmentering kan bli ett problem eftersom det byggs upp med tiden, skapa små och värdelösa minnesblock och begränsa mängden tillgängligt ledigt minne på en dator. När det går framåt, fragmentering kan göra att systemets prestanda blir långsam och trög på kort sikt; i längden, fragmentering kan förkorta livslängden för en dator eller server med 30 procent i genomsnitt. Av de två typerna av fragmentering, internt är mer förutsägbart än externt eftersom mängden förlorat utrymme bestäms av minnesallokerarens parametrar (hur stora de tilldelade blocken måste vara), vilket är en konstant. Dessutom, mängden totalt minne som förloras vid intern fragmentering är vanligtvis mindre än vad som går förlorad för extern fragmentering, även om det gradvis kan ackumuleras. Extern fragmentering, å andra sidan, är svårare att förutsäga eftersom i de flesta fall flera processer regelbundet startar och stannar i systemet och minnesblock som används under olika lång tid frigörs i en annan ordning än de fylldes, lämnar luckor i det tillgängliga minnet.

Bekämpa fragmentering för förbättrad prestanda

När det gäller optimering av RAM, den enda användbara lösningen är att starta om systemet, som rensar mycket av minnet som används av långvariga program och ger datorn en ny start för tilldelning av minne. Verktyg som hävdar att defragmentera RAM är vilseledande, som den virtuella minneshanteraren i moderna datorer arbetar för att optimera RAM -användningen hela tiden. För din hårddisk, dock, viss defragmentering kan krävas för att maximera systemets prestanda. Om du kör Windows Vista eller senare versioner, systemet defragmenterar automatiskt hårddiskutrymmet regelbundet åt dig. Om du märker långsammare systemprestanda och vill köra defragmenteraren själv, Du kan starta processen manuellt genom att klicka på "Start, "sedan" Alla program | Tillbehör | Systemverktyg | Diskdefragmentering. "Slutligen, klicka på "Defragmentera nu". Processen kan ta allt från minuter till timmar beroende på hur fragmenterad hårddisken är, men den goda nyheten är att du kan använda din dator medan Diskdefragmentering är igång. Fragmenteringsproblemet gäller inte alla operativsystem lika. För Mac -datorer, defragmentering är inte nödvändigt eftersom Mac OS X automatiskt optimerar diskutrymme när filer skrivs. Linux -maskiner kräver inte heller regelbunden defragmentering eftersom de tilldelar minne i ett spritt format istället för ett sammanhängande, ger filerna utrymme att expandera. Linux -användare som ser en minskning av systemprestanda bör överväga att öka storleken på sin hårddisk. Till sist, du bör aldrig defragmentera en SSD -lagringsenhet (t.ex. en USB -enhet), eftersom defragmentering faktiskt kan förkorta livslängden för solid state -enheter.


URL:https://sv.whycomputer.com/hardware/1014012086.html

Hårdvara
  • Typer av externt minne

    Externt minne kan betyda många saker men vad de flesta tänker på är bärbar lagring. Bärbar lagring kan sträcka sig från en bärbar flash -enhet, hårddisk eller ett minneskort som används i en enhet som en kamera. Att använda externt minne är ett bra sätt att spara filer som bilder, videor och andra t

  • Vad är en extern tuner?

    För att visa en specifik TV -kanal, din tv eller dator behöver ställa in kanalen, separera sin signal från data från alla andra kanaler. Detta kräver en TV -tuner, som antingen kan vara inbyggd i en TV eller dator - en intern tuner - eller som en separat enhet, kallas en extern tuner. Kabel- och sat

Datornätverk © https://sv.whycomputer.com