Hvorfor Linux ikke behøver defragmentering
Hvis du er en Linux-bruger, har du sikkert 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 behøver defragmentering i normal brug - og Windows gør det - skal du forstå, hvorfor fragmentering opstår, og hvordan Linux- og Windows-filsystemer fungerer forskelligt fra hinanden.
Hvilken fragmentering er
Mange Windows-brugere, selv uerfarne, tror at regelmæssigt defragmentering af deres filsystemer vil fremskynde deres computer. Hvad mange mennesker ikke ved, er, hvorfor dette er.
Kort sagt, en harddisk har en række sektorer på den, som hver kan indeholde et lille stykke data. Filer, især store, skal opbevares på tværs af en række forskellige sektorer. Lad os sige, at du gemmer et antal forskellige filer til dit filsystem. Hver af disse filer gemmes i en sammenhængende sektor af sektorer. Senere opdaterer du en af de filer, du oprindeligt har gemt, og ø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 steder på harddisken for at læse hver sektion af sektorer - det bremser tingene ned.
Defragmentering er en intensiv proces, der bevæger bitene af filer rundt for at reducere fragmentering, hvilket sikrer, at hver fil er ved siden af drevet.
Dette er selvfølgelig anderledes for solid state-drev, som ikke har bevægelige dele og ikke bør defragmenteres - defragmentering af SSD vil faktisk reducere sit liv. Og i de nyeste versioner af Windows behøver du ikke rigtig at bekymre sig om defragmentering af dine filsystemer - Windows gør det automatisk for dig. For mere information om bedste praksis til defragmentering, læs denne artikel:
HTG forklarer: Har du virkelig brug for at defragmentere din pc?
Sådan fungerer Windows filsystemer
Microsofts gamle FAT-filsystem - som sidst set som standard på Windows 98 og ME, selv om det stadig er i brug på USB-flashdrev i dag - forsøger ikke at arrangere filer intelligent. Når du gemmer en fil til et FAT-filsystem, gemmes det så tæt på diskens start som muligt. Når du gemmer en anden fil, sparer 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 intet nærliggende rum for dem at vokse ind i.
Microsofts nyere NTFS-filsystem, der gik ud på forbruger-pc'er med Windows XP og 2000, forsøger at være lidt klogere. 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 forblive i topprestationer. Microsoft har lettet dette problem ved at køre defragmenteringsprocessen i baggrunden på de nyeste versioner af Windows.
Sådan fungerer Linux filsystemer
Linux ext2, ext3 og ext4 filsystemer - ext4 er filsystemet, der bruges af Ubuntu og de fleste andre nuværende Linux-distributioner - allokerer filer på en mere intelligent måde. I stedet for at placere flere filer tæt på hinanden på harddisken, spred Linux filsystemer forskellige filer over hele disken, hvilket giver en stor mængde ledig plads mellem dem. Når en fil redigeres og skal vokse, er der normalt masser af ledig plads til, at filen kan vokse ind. Hvis fragmentering opstår, vil filsystemet forsøge at flytte filerne rundt for at reducere fragmentering under normal brug uden behov for en defragmenteringsfunktion.
På grund af den måde, denne fremgangsmåde fungerer på, vil du begynde at se fragmentering, hvis dit filsystem fylder op. Hvis den er 95% (eller endda 80%) fuld, vil du begynde at se en vis fragmentering. Filsystemet er imidlertid designet til at undgå fragmentering under normal brug.
Hvis du har problemer med fragmentering på Linux, har du sandsynligvis brug for en større harddisk. Hvis du faktisk skal defragmentere et filsystem, er den simpleste måde nok den mest pålidelige: Kopier alle filerne fra partitionen, slet filerne fra partitionen, og kopier derefter filerne tilbage til partitionen. Filsystemet vil tildele filerne intelligent som du kopierer dem tilbage på disken.
Du kan måle fragmenteringen af et Linux-filsystem med kommandoen fsck - se efter "ikke-sammenhængende inoder" i output.