Hvis du er Linux-bruker, har du sannsynligvis hørt at du ikke trenger å defragmentere Linux-filsystemene dine. Du vil også legge merke til at Linux-distribusjoner ikke kommer med diskdefragmenteringsverktøy. Men hvorfor er det?
For å forstå hvorfor Linux-filsystemer ikke trenger defragmentering ved normal bruk - og Windows-filer - må du forstå hvorfor fragmentering oppstår og hvordan Linux- og Windows-filsystemer fungerer annerledes enn hverandre.
Hva fragmentering er
Mange Windows-brukere, til og med uerfarne, tror at regelmessig defragmentering av filsystemene vil øke hastigheten på datamaskinen. Det mange ikke vet er hvorfor dette er.
Kort sagt har en harddisk en rekke sektorer på seg, som hver kan inneholde et lite stykke data. Filer, spesielt store, må lagres i en rekke forskjellige sektorer. La oss si at du lagrer en rekke forskjellige filer i filsystemet ditt. Hver av disse filene lagres i en sammenhengende klynge av sektorer. Senere oppdaterer du en av filene du opprinnelig lagret, og øker filstørrelsen. Filsystemet vil prøve å lagre de nye delene av filen rett ved siden av de originale delene. Dessverre, hvis det ikke er nok uavbrutt rom, må filen deles i flere deler - alt dette skjer transparent for deg. Når harddisken din leser filen, må hodene hoppe rundt mellom forskjellige fysiske steder på harddisken for å lese hvert stykke sektorer - dette bremser ting.
Defragmentering er en intensiv prosess som flytter biter av filer rundt for å redusere fragmentering, og sikrer at hver fil er sammenhengende på stasjonen.
Selvfølgelig er dette annerledes for solid state-stasjoner, som ikke har bevegelige deler og ikke bør defragmenteres - defragmentering av en SSD vil faktisk redusere levetiden. Og på de nyeste versjonene av Windows trenger du ikke å bekymre deg for å defragmentere filsystemene dine - Windows gjør dette automatisk for deg. Hvis du vil ha mer informasjon om beste fremgangsmåter for defragmentering, kan du lese denne artikkelen:
HTG forklarer: Trenger du virkelig å defragtere PC-en din?
Hvordan Windows filsystemer fungerer
Microsofts gamle FAT-filsystem - sist sett som standard på Windows 98 og ME, selv om det fremdeles er i bruk på USB-flashstasjoner i dag - prøver ikke å ordne filer intelligent. Når du lagrer en fil i et FAT-filsystem, lagrer den den så nær starten av disken som mulig. Når du lagrer en ny fil, lagrer den den rett etter den første filen - og så videre. Når originalfilene vokser i størrelse, blir de alltid fragmenterte. Det er ikke noe rom i nærheten de kan vokse inn i.
Microsofts nyere NTFS-filsystem, som gikk inn på forbruker-PC-er med Windows XP og 2000, prøver å være litt smartere. Den tildeler mer "buffer" ledig plass rundt filer på stasjonen, selv om NTFS-filsystemer fremdeles blir fragmenterte over tid, som enhver Windows-bruker kan fortelle deg.
På grunn av måten disse filsystemene fungerer på, må de defragmenteres for å holde topp ytelse. Microsoft har lettet dette problemet ved å kjøre defragmenteringsprosessen i bakgrunnen på de nyeste versjonene av Windows.
Hvordan Linux filsystemer fungerer
Linux's ext2, ext3 og ext4 filsystemer - ext4 er filsystemet som brukes av Ubuntu og de fleste andre nåværende Linux-distribusjoner - tildeler filer på en mer intelligent måte. I stedet for å plassere flere filer nær hverandre på harddisken, sprer Linux-filsystemer forskjellige filer over hele disken, og etterlater en stor mengde ledig plass mellom dem. Når en fil redigeres og trenger å vokse, er det vanligvis god plass for filen å vokse inn i. Hvis fragmentering oppstår, vil filsystemet forsøke å flytte filene rundt for å redusere fragmentering ved normal bruk, uten behov for et defragmenteringsverktøy.
På grunn av måten denne tilnærmingen fungerer på, vil du begynne å se fragmentering hvis filsystemet fylles opp. Hvis den er 95% (eller til og med 80%) full, vil du begynne å se noen fragmentering. Filsystemet er imidlertid designet for å unngå fragmentering ved normal bruk.
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 tildeler filene på en intelligent måte når du kopierer dem tilbake til disken.
Du kan måle fragmenteringen av et Linux-filsystem med fsck kommando - se etter “ikke-sammenhengende inoder” i utgangen.