Trenger moderne datamaskiner fortsatt den slags rutinemessige defragmenteringsprosedyrer som eldre datamaskiner etterlyste? Les videre for å lære om fragmentering og hva moderne operativsystemer og filsystemer gjør for å minimere ytelsespåvirkningen.
Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en grupperingsgruppering av spørsmål og svar-nettsteder.
Spørsmålet
SuperUser-leser Simon Sheehan er nysgjerrig på tilstanden til defragmentering i moderne stasjoner:
Som en del av vanlig Windows-vedlikehold defragmenterer jeg harddisken. Men hvorfor fragmenterer harddisken på NTFS- og FAT * -systemer? Tilsynelatende gjør ikke EXT * det, hvorfor er dette? Skal jeg også defragmentere USB-stasjonene mine?
La oss vende oss til noen av bidragsyterens svar for å undersøke Simons spørsmål.
Svaret
SuperUser-bidragsyter Daniel R. Hicks stiller spørsmålet:
Fragmentering er ikke problemet det var for 30 år siden. Den gang hadde du harddisker som var knapt raskere enn disketter, og prosessorhukommelsesstørrelser som var små. Nå har du veldig raske stasjoner og store prosessorminner, og noen ganger betydelig buffering på harddisken eller i kontrolleren. Pluss sektorstørrelser har blitt større (eller filer blir tildelt i større blokker) slik at mer data er iboende sammenhengende.
Operativsystemer har blitt smartere også. Mens DOS 1.x ville ha hentet hver sektor fra disken som det ble referert til, kan et moderne operativsystem se at du har en fil åpen for sekvensiell tilgang og med rimelighet kan forutsi at du vil hente flere sektorer når du har konsumert de du har nå. Dermed kan den "forhåndshente" de neste flere (dusin) sektorene.
Og mer er det ofte bedre å ikke ha en sammenhengende fil. På et (stort) system der filsystemet er spredt over flere stasjoner, kan man faktisk få tilgang til filen raskere hvis den også blir "spredt", siden flere disker kan søke etter filen samtidig.
Jeg defragmenterer hvert 2-3 år, enten boksen min trenger det eller ikke.
[I’ll add that the important thing is not so much whether the data on the disk gets defragmented as whether the free space does. FAT was terrible at this — unless you defragged things kept getting worse and worse until there were no two contiguous blocks of free space. Most other schemes can coalesce free space and allocate pieces in a somewhat “smart” fashion so the fragmentation reaches a certain threshold and then stabilizes, rather than getting worse and worse.]
Journeyman Geek legger til i følgende informasjon om Linux-filsystemer:
ALLE fragmenter av filsystemer. ext og andre Linux-filsystemer fragmenterer mindre på grunn av måten de er designet på - for å sitere Wikipedia angående Linux Network Administrators 'Guide :
Moderne Linux-filsystem (er) holder fragmentering på et minimum ved å holde alle blokker i n en fil nær hverandre, selv om de ikke kan lagres i påfølgende sektorer. Noen filsystemer, som ext3, tildeler effektivt den gratis blokken som er nærmest andre blokker i en fil. Derfor er det ikke nødvendig å bekymre seg for fragmentering i et Linux-system.
Jeg vil merke det ext4 har online defragmentering, så til slutt er fragmentering et problem, selv med Linux-filsystemer.
Windows-filsystemer har klyngene plassert hvor det er plass til å plassere dem, og defrag kjører rundt og erstatter dem. Med Linux plasseres filer fortrinnsvis der det er nok plass.
Jeg vil imidlertid merke at Windows 7 har planlagt defragmenteringskjøringer, så det er egentlig ikke nødvendig å kjøre defragmentering manuelt.
Et element i det opprinnelige spørsmålet som ikke ble adressert, er om du skal defragmentere flash-stasjonen eller ikke. Defragmentering er en veldig lese- / skriveintensiv prosess og bør unngås på solid state-lagringsenheter som flash-stasjoner og SSD-er. For mer informasjon om defragmentering, filsystemer og SSD-er, sjekk ut følgende HTG-artikler:
- HTG forklarer: Trenger du virkelig å defragtere PC-en din?
- HTG forklarer: Hva er en solid state-stasjon og hva trenger jeg å vite?
- HTG forklarer: Hvorfor Linux ikke trenger defragmentering
Har du noe å legge til forklaringen? Hør av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut full diskusjonstråd her .