Diskdefragmenteraren

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 22 juli 2021; kontroller kräver 23 redigeringar .

Defragmentering  är processen att omfördela fragment av filer och logiska strukturer av filsystem på diskar för att säkerställa en kontinuerlig sekvens av kluster .

När det gäller att använda hårddiskar , på grund av defragmentering, påskyndas läsning och skrivning av filer, och därför driften av program och operativsystemet . Detta uppnås på grund av det faktum att läsningen av filer efter defragmentering utförs så linjärt och kontinuerligt som möjligt, utan ytterligare rörelser av hårddiskhuvudet för att söka efter och återförena fragment.

Solid-state-enheter och flash-enheter baserade på olika typer av flashminne behöver inte defragmentera filsystem. Dessutom skadar defragmentering flashminnet i viss utsträckning, eftersom det senare har ett mycket mer begränsat antal skriv-/omskrivningscykler än magnetiska diskenheter när de används på rätt sätt.

Terminologi

Datafragmentering  - dela upp en fil i fragment av olika storlekar för skrivning till olika (icke på varandra följande) områden på hårddisken. Fragmentering används som regel när det är nödvändigt att skriva en stor fil till en disk där det inte finns tillräckligt med kontinuerlig volym, men det totala lediga utrymmet är tillräckligt (till exempel på grund av radering av tidigare inspelade filer).

Orsaker till filfragmentering

Grundläggande skäl

Fragmentering av filsystemet är i sin essens en kompromiss mellan enkelheten och hastigheten för den initiala dumpningen av data till disken och hastigheten och följaktligen lättheten att läsa samma data i framtiden (vilket förresten, kanske inte inträffar särskilt snart när det gäller processortid ).

Dessutom är fragmentering en konsekvens av den aktiva driften av filsystemet och datorn som helhet, baserat på ovanstående skäl.

Särskilda tillfällen

Särskilt anmärkningsvärt är den avsiktliga fragmenteringen av SSD:er av deras kontroller på fysisk nivå, vilket faktiskt har en klart fördelaktig effekt (se Fragmentering av Flash på fysisk nivå ).

Konsekvenser

När det finns många fragmenterade filer minskar hastigheten på enheten (särskilt en hårddisk eller diskett ) med fragmenterade filer, eftersom det finns förseningar i den fysiska rörelsen av hårddiskhuvudet mellan delade fragment [1] . Dessutom saktar den allmänna fragmenteringen av hårddisken ner inte bara hastigheten för att arbeta med befintliga filer, utan saktar också som regel avsevärt ned skrivningen av nya.

Typer av defragmentering

Utvecklare av tredjepartsverktyg försöker förse användare med olika algoritmer och defragmenteringsregler.

  • "Snabb" defragmentering  - endast fragmenterade filer defragmenteras, ledigt utrymme defragmenteras inte. Körs flera gånger snabbare än en fullständig defragmentering. Påskyndar arbetet med befintliga filer. Hastigheten att arbeta med skapade eller modifierade filer är något snabbare. Följande verktyg kan utföra sådan defragmentering: Piriform Defraggler .
  • Defragmentering av ledigt utrymme  - defragmentering av endast ledigt utrymme, medan filer förblir fragmenterade, ibland till och med mer än före defragmenteringen. Snabbar avsevärt på att skriva nya filer. Använd extremt sällan. De kan köra följande verktyg: Piriform Defraggler , O&O Defrag [2] .
  • Fullständig defragmentering  - både ledigt utrymme och själva filerna defragmenteras samtidigt. Kan köras i flera timmar på stora diskar. Snabbar upp arbetet med både nya filer och befintliga. Det kan utföras av inbyggda Windows-verktyg, såväl som många tredjepartsverktyg. När du använder en SSD som en systemenhet i Windows 8 , 8.1 , 10 är sådan manuell defragmentering inte tillgänglig från standardverktyget och har ersatts av en optimering [3] - exekvera trimkommandot .
  • "Optimering"  - förutom (eller istället för) defragmentering, flyttar den fysiskt små och/eller viktiga filer för systemet till början av disken (närmare bestämt en partition) och/eller flyttar stora användarfiler eller sällan använda filer till slutet av skivan. Det kan ge en liten ökning av hårddiskens totala prestanda och en ganska betydande acceleration när man använder operativsystemet från denna disk [4] . En speciell typ av sådan optimering kan utföras automatiskt av Windows vid OS-start. De kan köra följande verktyg: MyDefrag , O&O Defrag [2] .

Separat är det värt att förklara den tidigare nämnda defragmenteringen vid Windows -start [5] . För närvarande är endast viktiga systemfiler defragmenterade. Användaren har som regel inte möjlighet att kontrollera denna process. Saktar ner processen att starta operativsystemet något, men eliminerar praktiskt taget en betydande ökning av starttiden i framtiden, till exempel efter en framgångsrik systemuppdatering. Om du inaktiverar det här alternativet via Windows-registret kommer OS-starttiden att minska något till en början, men med tiden kan den snabbt öka med aktiv användning av datorn, även om vanlig allmän defragmentering utförs med OS-verktyg (särskilt på Windows XP och nedan), eftersom de flesta systemfiler kan skyddas från direkt åtkomst under systemdrift, eller så är klassisk defragmentering inte så viktig för dem.

Kända begränsningar

För att sammanfatta ovanstående begränsningar kan defragmentering av vissa filer (till exempel växlingsfilen eller registerfiler) inte ske under direkt drift av systemet (utan ytterligare "justeringar" [6] av systemregistret ). För sådana ändamål kan du använda multiboot-verktyg , ändra registret eller defragmentera dessa filer från ett annat operativsystem (till exempel Linux ).

Behovet av defragmentering

För filsystem

Defragmentering krävs oftast för filsystem som File Allocation Table (FAT16, FAT32) för MS-DOS och NTFS operativsystem för Microsoft Windows , eftersom program för att arbeta med dem vanligtvis inte internt tillhandahåller något sätt att förhindra fragmentering (med sällsynta undantag är KillCopy och TeraCopy [7] ), och det visas ofta även på en nästan tom disk och en liten filladdning.

Vissa filsystem ger inbyggd fragmenteringsminskning (se Fragmentering i ext4 ) samtidigt som de bibehåller anständig disk- och journalprestanda (se Journalföring i ext4 ). Ett exempel på ett sådant filsystem är ext4 , dock är fullt stöd och arbete med det endast möjligt från Linux- miljön (se support för ext4 ).

För olika medier

Fragmentering är inte nödvändigtvis negativt. Ibland används det avsiktligt för att öka livslängden på SSD - det är här trimkommandot  kommer in i bilden . Det är värt att tänka på att fragmentering kan övervägas på olika nivåer: på filsystemnivå (logisk) och på enhetsnivå (fysisk, endast SSD-styrenheten är ansvarig för det , se Mikrokontroller ). Ofta är användaren av en SSD inte ens medveten om sådan fragmentering, och den används för att jämnt slita ut enhetens minnesceller (se Slitageutjämning ). Men även på solid state-enheter tenderar Windows 8 och senare (i vissa fall) att defragmentera på filsystemnivå [8] . Det är dock så sällsynt att du inte bör oroa dig för det - resursen för moderna SSD: er är mycket hög, och operativsystemets stabilitet är extremt viktig för nästan alla användare.

Hårddiskhälsa

Förutom att sakta ner datorn i dess filoperationer (som läsning och skrivning), påverkar kronisk filfragmentering hårddiskens "hälsa" negativt, eftersom det gör att skivans positioneringshuvuden hela tiden rör sig, vilket utför läsning och skriva data. Detta kan förkorta livslängden för den rörliga huvudenheten och öka temperaturen inuti hårddisken , vilket kan leda till ännu snabbare slitage av hårddiskens hårdvara.

För flashminne och dess styrenhet

Flashminne är ett direktåtkomstminne, där åtkomsttiden till en cell är relativt liten och densamma oavsett dess adress , och skriver data i det så kallade scattershot-läget, när endast minneskontrollern själv vet om den verkliga platsen för fragmenten. Dessutom tål halvledarenheternas celler bara ett begränsat antal skrivcykler, så att utföra en normal defragmentering på flash-enheter och SSD -enheter är inte bara ineffektivt, utan också skadligt på vissa sätt [9] . Defragmenteringsprogram kan påskynda prestandan för en SSD , men utan att tillgripa den klassiska defragmenteringen av filsystemet (eller minimera det) [9] .

Temperaturkontroll

Som förklarats ovan, även om SSD- fragmentering är av dubbel karaktär (på grund av en viss begränsning av omskrivningsresursen), bör man inte glömma ett mycket viktigare fenomen, såsom en ökning av temperaturen på minnescellchipsen och, särskilt, kontrollmikrokontrollern . _ _ Detta är ytterligare ett skäl till att vidta omfattande åtgärder (till exempel kompetent kabelhantering och lämplig datorkylning ) för att förbättra tillståndet för enheter under systemdrift, och inte bara föra register över registrerade data [10] .

Programvara

För att eliminera fragmentering finns det speciella verktyg (defragmenteringsprogram), vars princip är att "samla" varje fil från dess fragment och sedan placera den i den mest fördelaktiga positionen för operativsystemet och användaren. En vanlig nackdel med sådana program är att de fungerar långsamt - defragmenteringsprocessen kan ta mycket lång tid (upp till flera timmar). För solid-state-enheter finns det ett speciellt kommando som optimerar arbetet utan att behöva sortera om filfragment - trim .

Filsystem

  • FAT : MS-DOS 6.x och Windows 9x innehåller verktyget Defrag. DOS-versionen är baserad på Norton SpeedDisk , Windows-versionen är baserad på Diskeeper .
  • NTFS : Windows NT 5 och senare innehåller en defragmenterare baserad på Diskeeper . Windows NT 4 och tidigare hade inga inbyggda defragmenteringsverktyg [11] .
  • ext2 använder defragmenteraren e2defrag .
  • ext3  : e2defrag kan bara fungera med ext3 om den tillfälligt konverteras till ext2. Istället kan du använda en filsystemoberoende defragmenterare, som Shake [12] .
  • ext4  : e4defrag , som fungerar genom att skapa omfattningar och flytta filer till dem.
  • XFS : Onlinedefragmenterare xfs_fsr .
# xfs_fsr -v /dev/sdX1
  • Information om filfragmentering kan erhållas med hjälp av verktyget filefrag från paketet e2fsprogs .

Manuell defragmentering och förebyggande av fragmentering

Trots det faktum att det finns ganska intelligenta program bland program av detta slag, kan en bra defragmentering (för en icke-systemenhet) göras på egen hand. För att göra detta räcker det att skapa en ny partition med filsystemet på disken och sedan helt enkelt kopiera filerna som kommer att lagras på den till denna logiska disk . Under sådan kopiering till en tom disk skrivs data sekventiellt, med liten eller ingen fragmentering. Dessutom tar processen att skriva filer flera gånger kortare tid än att defragmentera med program.

Inverkan av användarvanor på fragmentering

Kunskap om filstrukturen och principerna för hårddiskdrift hjälper till att kraftigt minska filfragmenteringen på grund av korrekt organisation av användarens arbete. Denna organisation består i det faktum att de filer som är tänkta att lagras under lång tid först skrivs till en tom disk: favoritfilmer, arkiv, musik. Samma filer som inte är planerade att lagras under lång tid, det är bättre att skriva till slutet av disken: att ta bort dem kommer inte att orsaka uppdelning av andra filer. Men detta tillvägagångssätt är väl tillämpbart endast på icke-systemenheter (och, i mindre utsträckning, på olika partitioner av samma enhet; detta beror både på den relativa fysiska platsen för data på magnetiska diskar och på den frekventa begränsningen av antalet av partitioner med MBR -partitionsstilen som fortfarande efterfrågas [ 13] ), och defragmentering av systempartitionen är fortfarande effektivare och lättare att utföra med speciella verktyg.

Andra hjälpmetoder

Det hjälper att använda en separat partition och/eller volym [14] [15] för ofta modifierade . Till exempel, i Unix-liknande operativsystem placeras ofta användardata och inställningar ( /home directory ), temporära filer (/tmp), protokoll , cachar , etc. (/var) på separata partitioner ; se även FHS .

Hjälp av moderna operativsystem vid defragmentering

Windows 7 och högre med vissa inställningar [16] kan defragmentera, optimera systemfiler, planerat underhåll av SSD:er [17] och även när datorn är inaktiv.

Anteckningar

  1. Joe Kinsella Impact of Disk Fragmentation Arkiverad 21 oktober 2017 på Wayback Machine
  2. ↑ 1 2 Standarddefragmenteringsmetoder O&O Software . docs.oo-software.com . Hämtad 2 januari 2022. Arkiverad från originalet 2 januari 2022.
  3. Hur aktiverar jag TRIM för SSD i Windows och kontrollerar om TRIM-stöd är aktiverat  (ryska)  ? . reparation.pro . Hämtad 2 januari 2022. Arkiverad från originalet 2 januari 2022.
  4. Windows Vista Task Scheduler Secrets  (ryska)  ? . www.outsidethebox.ms _ Hämtad 5 december 2020. Arkiverad från originalet 24 september 2020.
  5. Defragmentering vid laddning av Windows | Windows Encyclopedia . winddata.ru. Hämtad 9 januari 2019. Arkiverad från originalet 10 januari 2019.
  6. XP Tweaker Russian Edition . xptweak.sourceforge.net . Hämtad 2 januari 2022. Arkiverad från originalet 2 januari 2022.
  7. [Plugin Request Copy utan filfragmentering :: Total Commander] . forum.wincmd.ru. Hämtad 13 januari 2019. Arkiverad från originalet 18 januari 2022.
  8. Varför defragmenterar Windows 10, 8.1 och 8 din SSD och hur man undviker det  (ryska)  ? . www.outsidethebox.ms _ Hämtad 21 november 2020. Arkiverad från originalet 29 oktober 2020.
  9. 1 2 Fragging underbart: Sanningen om att defragmentera din SSD . Hämtad 20 oktober 2017. Arkiverad från originalet 22 augusti 2017.
  10. Förändring av hastigheten på m.2-drevet från en förändring i kylning (m.2-överhettning) - YouTube . www.youtube.com . Hämtad 7 januari 2021. Arkiverad från originalet 13 juli 2020.
  11. Diskdefragmenteringsbegränsningar i Windows 2000, Windows XP och Windows Server  2003 . Hjälp och support . Microsoft (24 januari 2007). Hämtad 27 september 2007. Arkiverad från originalet 8 februari 2012.
  12. Vleu.net: ShakE . Hämtad 27 september 2007. Arkiverad från originalet 12 september 2007.
  13. Hur tar man reda på en GPT- eller MBR-disk på en dator  (ryska)  ? . reparation.pro . Hämtad 4 december 2020. Arkiverad från originalet 18 januari 2021.
  14. Hantera volymer och partitioner . help.gnome.org _ Hämtad 20 januari 2022. Arkiverad från originalet 20 januari 2022.
  15. Volymtyp logisk eller grundläggande - 4apple.org  (ryska)  ? . Hämtad 20 januari 2022. Arkiverad från originalet 20 januari 2022.
  16. Hur defragmenterar man diskar i Windows  (ryska)  ? . www.outsidethebox.ms _ Hämtad 4 december 2020. Arkiverad från originalet 29 oktober 2020.
  17. Windows Task Scheduler Secrets - Automatiskt underhåll  (ryska)  ? . www.outsidethebox.ms _ Hämtad 5 december 2020. Arkiverad från originalet 29 oktober 2020.

Litteratur

  • Peter Norton. Peter Nortons kompletta guide till DOS 6.22. - Sams, 1994. P. 521. ISBN 0-672-30614-X
  • Woody Leonhard, Justin Leonhard. Windows XP tidsbesparande tekniker för dummies. — 2:a uppl. - For Dummies, 2005. - 590 sid. — ISBN 978-0764578830 .
  • Craig Jensen. Fragmentering: Tillståndet, orsaken, botemedlet. Executive Software International, 1994. ISBN 0-9640049-0-9
  • Dave Kleiman, et al. Winternals fältguide för defragmentering, återställning och administration. - Syngress, 2006. - 512 sid. — ISBN 978-1597490795 .
  • Drew Robb. Serverdiskhantering i en Windows-miljö. - Auerbach Publications, 2003. - 280 sid. — ISBN 978-0849324321 .

Länkar