Hvad er Disk Fragmentation og skal jeg stadig defragmentere?
Har moderne computere stadig brug for den slags rutinemæssige defragmenteringsprocedurer, som ældre computere krævede? Læs videre for at lære om fragmentering og hvilke moderne operativsystemer og filsystemer der gør for at minimere præstationspåvirkninger.
Dagens Spørgsmål og Svar session kommer til os med venlig hilsen af SuperUser-en underafdeling af Stack Exchange, en community-drive gruppering af Q & A websteder.
Spørgsmålet
SuperUser-læser Simon Sheehan er nysgerrig over tilstanden med defragmentering i moderne drev:
Som en del af regelmæssig Windows vedligeholdelse defragmenterer jeg min harddisk. Men hvorfor har harddisk fragmentet på NTFS og FAT * systemer? Tilsyneladende EXT * ikke, hvorfor er det her? Skal jeg også defragmentere mine USB-drev?
Lad os henvende os til nogle af bidragyderens svar for at undersøge Simons spørgsmål.
Svaret
SuperUser bidragyder Daniel R. Hicks springer spørgsmålet:
Fragmentering er ikke det problem, det var for 30 år siden. Derefter havde du harddiske, der var næppe hurtigere end floppies og processorhukommelsesstørrelser, der var små. Nu har du meget hurtige drev og store processormindere, og nogle gange betydelige bufferinger på harddisken eller i controlleren. Plus sektorstørrelser er blevet større (eller filer tildeles i større blokke), så flere data er iboende tilstødende.
Operativsystemerne er også blevet smartere. Mens DOS 1.x ville have hentet hver sektor fra disken som den blev henvist til, kan et moderne OS se, at du har en fil åben for sekventiel adgang og kan med rimelighed forudsige, at du vil hente yderligere sektorer, når du har forbrugt dem, du har nu. Således kan den "forhente" de næste flere (dusin) sektorer.
Og mere er det ofte bedre at ikke have en fil tilstødende. På et (stort) system, hvor filsystemet er spredt over flere drev, kan en fil faktisk nås hurtigere, hvis den også er "spredt", da flere diske kan søge filen samtidig.
Jeg defragmenterer hvert 2-3 år, om min boks har brug for det eller ej.
[Jeg vil tilføje, at det vigtige ikke er så meget, om dataene på disken bliver defragmenteret som om det ledige rum gør det. FAT var forfærdeligt på dette - medmindre du defraggede ting blev værre og værre, indtil der ikke var to sammenhængende blokke af ledig plads. De fleste andre ordninger kan samle fri plads og allokere stykker på en noget "smart" måde, så fragmenteringen når en bestemt tærskel og stabiliserer derefter, snarere end at blive værre og værre.]
Journeyman Geek tilføjer følgende oplysninger om Linux filsystemer:
ALLE filsystemfragmenter. ext og andre Linux filsystemer fragmentere mindre på grund af den måde, de er designet på - at citere Wikipedia om Linux Network Administrators Guide:
Moderne Linux filsystem (er) holde fragmentering på et minimum ved at holde alle blokke in en fil tæt sammen, selvom de ikke kan gemmes i sammenhængende sektorer. Nogle filsystemer, som ext3, fordeler effektivt den gratis blok, der er nærmest andre blokke i en fil. Derfor er det ikke nødvendigt at bekymre sig om fragmentering i et Linux-system.
Jeg vil bemærke selv om, at ext4 har online defragmentering, så til sidst fragmentering er et problem, selv med Linux filsystemer.
Windows filsystemer har deres klynger placeret, hvor der er plads til at sætte dem, og defrag løber rundt og erstatter dem. Med Linux placeres filer fortrinsvis, hvor der er plads nok.
Jeg vil dog bemærke, at Windows 7 har planlagte defragmenteringsløb, så det er ikke rigtig nødvendigt at køre defragment manuelt.
Et element i det oprindelige spørgsmål, der ikke blev behandlet, er, om du skal defragmentere dit flashdrev eller ej. Defragmentering er en meget læser / skriveintensiv proces og bør undgås på solid state-lagringsenheder som flashdrev og Solid State Disks (SSD'er). For flere oplysninger om defragmentering, filsystemer og SSD'er, tjek de følgende HTG artikler:
- HTG forklarer: Har du virkelig brug for at defragmentere din pc?
- HTG forklarer: Hvad er en Solid State Drive og hvad skal jeg vide?
- HTG forklarer: Hvorfor Linux ikke har brug for defragmentering
Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.