Hvis du er Linux-bruger, har du sandsynligvis hørt, at du ikke behøver at defragmentere dine Linux-filsystemer. Du vil også bemærke, at Linux-distributioner ikke kommer med diskdefragmenteringsværktøjer. Men hvorfor er det?
For at forstå, hvorfor Linux-filsystemer ikke har brug for defragmentering ved normal brug - og Windows-dem - skal du forstå, hvorfor fragmentering opstår, og hvordan Linux- og Windows-filsystemer fungerer forskelligt fra hinanden.
Hvad fragmentering er
Mange Windows-brugere, selv uerfarne, mener, at regelmæssig defragmentering af deres filsystemer vil fremskynde deres computer. Hvad mange mennesker ikke ved, er hvorfor det er.
Kort sagt har en harddisk et antal sektorer, som hver kan indeholde et lille stykke data. Filer, især store, skal gemmes på tværs af en række forskellige sektorer. Lad os sige, at du gemmer et antal forskellige filer i dit filsystem. Hver af disse filer gemmes i en sammenhængende klynge af sektorer. Senere opdaterer du en af de filer, du oprindeligt gemte, hvilket øger filens størrelse. Filsystemet forsøger at gemme de nye dele af filen lige ved siden af de originale dele. Desværre, hvis der ikke er nok uafbrudt plads, skal filen opdeles i flere stykker - alt dette sker gennemsigtigt for dig. Når din harddisk læser filen, skal dens hoveder springe rundt mellem forskellige fysiske placeringer på harddisken for at læse hvert stykke sektorer - dette bremser tingene ned.
Defragmentering er en intensiv proces, der flytter bitene af filer rundt for at reducere fragmentering, hvilket sikrer, at hver fil er sammenhængende på drevet.
Selvfølgelig er dette anderledes for solid state-drev, som ikke har bevægelige dele og ikke bør defragmenteres - defragmentering af en SSD reducerer faktisk dens levetid. Og på de nyeste versioner af Windows behøver du ikke rigtig bekymre dig om at defragmentere dine filsystemer - Windows gør dette automatisk for dig. For mere information om bedste praksis til defragmentering, læs denne artikel:
HTG forklarer: Har du virkelig brug for at defragtere din pc?
Sådan fungerer Windows-filsystemer
Microsofts gamle FAT-filsystem - sidst set som standard på Windows 98 og ME, selvom det stadig bruges i USB-flashdrev i dag - forsøger ikke at arrangere filer intelligent. Når du gemmer en fil i et FAT-filsystem, gemmer den den så tæt på starten af disken som muligt. Når du gemmer en anden fil, gemmer den den lige efter den første fil - og så videre. Når de originale filer vokser i størrelse, bliver de altid fragmenterede. Der er ikke plads i nærheden for dem at vokse ind i.
Microsofts nyere NTFS-filsystem, der kom ind på forbruger-pc'er med Windows XP og 2000, forsøger at være lidt smartere. Det tildeler mere "buffer" ledig plads omkring filer på drevet, selvom, som enhver Windows-bruger kan fortælle dig, bliver NTFS-filsystemer stadig fragmenteret over tid.
På grund af den måde, disse filsystemer fungerer på, skal de defragmenteres for at holde sig på toppræstationen. Microsoft har afhjulpet dette problem ved at køre defragmenteringsprocessen i baggrunden på de nyeste versioner af Windows.
Sådan fungerer Linux-filsystemer
Linux's ext2-, ext3- og ext4-filsystemer - ext4 er det filsystem, der bruges af Ubuntu og de fleste andre nuværende Linux-distributioner - tildeler filer på en mere intelligent måde. I stedet for at placere flere filer i nærheden af hinanden på harddisken spredes Linux-filsystemer forskellige filer over hele disken og efterlader en stor mængde ledig plads mellem dem. Når en fil redigeres og skal vokse, er der normalt masser af ledig plads til filen at vokse ind i. Hvis der forekommer fragmentering, vil filsystemet forsøge at flytte filerne rundt for at reducere fragmentering ved normal brug uden behov for et defragmenteringsværktøj.
På grund af den måde, denne fremgangsmåde fungerer på, vil du begynde at se fragmentering, hvis dit filsystem fyldes op. Hvis den er 95% (eller endda 80%) fuld, begynder du at se en vis fragmentering. Filsystemet er dog designet til at undgå fragmentering ved normal brug.
Hvis du har problemer med fragmentering på Linux, har du sandsynligvis brug for en større harddisk. Hvis du rent faktisk har brug for at defragmentere et filsystem, er den enkleste måde sandsynligvis den mest pålidelige: Kopier alle filerne fra partitionen, slet filerne fra partitionen, og kopier derefter filerne tilbage til partitionen. Filsystemet tildeler intelligent filerne, når du kopierer dem tilbage til disken.
Du kan måle fragmenteringen af et Linux-filsystem med fsck-kommando - se efter “ikke-sammenhængende inoder” i output.