For å forstå hvorfor Linux-filsystemer ikke trenger defragmentering i normal bruk - og Windows gjør det - må du forstå hvorfor fragmentering oppstår, og hvordan Linux- og Windows-filsystemer fungerer forskjellig fra hverandre.
Hvilken fragmentering er
Mange Windows-brukere, selv uerfarne, tror at regelmessig defragmentering av filsystemene vil øke hastigheten på datamaskinen. Det mange folk ikke vet er hvorfor dette er.
Kort sagt, en harddisk har en rekke sektorer på den, som hver kan inneholde et lite stykke data. Filer, spesielt store, må lagres på tvers av en rekke ulike sektorer. La oss si at du lagrer en rekke forskjellige filer til filsystemet ditt. Hver av disse filene vil bli lagret i en sammenhengende gruppe av sektorer. Senere oppdaterer du en av filene du opprinnelig lagret, og øker filens størrelse. Filsystemet forsøker å lagre de nye delene av filen ved siden av de opprinnelige delene. Dessverre, hvis det ikke er nok uavbrutt rom, må filen splittes i flere stykker - alt dette skjer transparent for deg. Når harddisken leser filen, må hodene hoppe rundt mellom ulike fysiske steder på harddisken for å lese hver del av sektorer - dette senker tingene nedover.
Defragmentering er en intensiv prosess som beveger biter av filer rundt for å redusere fragmentering, slik at hver fil er sammenhengende med stasjonen.
HTG Forklarer: Trenger du virkelig å defragmentere din PC?
Hvordan Windows filsystemer fungerer
Microsofts gamle FAT-filsystem - sist sett som standard på Windows 98 og ME, men det er fortsatt i bruk på USB-minnepinner i dag - forsøker ikke å ordne filer på en intelligent måte. Når du lagrer en fil til et FAT-filsystem, sparer den så nær starten på disken som mulig. Når du lagrer en annen fil, sparer den den rett etter den første filen - og så videre. Når de originale filene vokser i størrelse, vil de alltid bli fragmentert. Det er ikke noe nærliggende rom for dem å vokse inn i.
Microsofts nyere NTFS-filsystem, som gjorde veien til forbruker-PCer med Windows XP og 2000, forsøker å være litt smartere. Det tildeler mer "buffer" ledig plass rundt filer på stasjonen, men som alle Windows-brukere kan fortelle, blir NTFS-filsystemer fortsatt fragmentert over tid.
På grunn av måten disse filsystemene fungerer på, må de defragmenteres for å holde seg på topp ytelse. Microsoft har lindret dette problemet ved å kjøre defragmenteringsprosessen i bakgrunnen på de nyeste versjonene av Windows.
Hvordan Linux filsystemer fungerer
Linuxs ext2-, ext3- og ext4-filsystemer - ext4 er filsystemet som brukes av Ubuntu og de fleste andre nåværende Linux-distribusjoner - allokerer filer på en mer intelligent måte. I stedet for å plassere flere filer i nærheten av hverandre på harddisken, sprer Linux filsystemer forskjellige filer over hele disken, og gir en stor mengde ledig plass mellom dem. Når en fil er redigert og trenger å vokse, er det vanligvis god ledig plass for filen å vokse inn i. Hvis fragmentering oppstår, vil filsystemet forsøke å flytte filene rundt for å redusere fragmentering i normal bruk uten behov for defragmenteringsverktøy.
Hvis du har problemer med fragmentering på Linux, trenger du sannsynligvis en større harddisk. Hvis du faktisk trenger å defragmentere et filsystem, er den enkleste måten trolig den mest pålitelige: Kopier alle filene fra partisjonen, slett filene fra partisjonen, og kopier deretter filene tilbake til partisjonen. Filsystemet vil allikevel allokere filene som du kopierer dem tilbake på disken.
Du kan måle fragmenteringen av et Linux-filsystem med fsck-kommandoen - se etter "ikke-sammenhengende inoder" i utgangen.