Hjemmeside » hvordan » Hvorfor Linux trenger ikke defragmentering

    Hvorfor Linux trenger ikke defragmentering

    Hvis du er en Linux-bruker, har du sikkert 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 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 uerfaren, 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 over en rekke ulike sektorer. La oss si at du lagrer et antall 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 vil forsøke å 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 sakene ned.

    Defragmentering er en intensiv prosess som beveger biter av filer rundt for å redusere fragmentering, slik at hver fil er sammenhengende på stasjonen.

    Selvfølgelig er dette forskjellig for solid state-stasjoner, som ikke har bevegelige deler, og bør ikke defragmenteres - defragmentering av SSD vil faktisk redusere livet. Og i de nyeste versjonene av Windows trenger du ikke å bekymre deg for defragmentering av filsystemene dine - Windows gjør dette automatisk for deg. For mer informasjon om beste praksis for defragmentering, les denne artikkelen:

    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, blir de alltid 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 under normal bruk uten behov for defragmenteringsverktøy.

    På grunn av måten denne tilnærmingen fungerer på, vil du begynne å se fragmentering hvis filsystemet fylles opp. Hvis det er 95% (eller til og med 80%) fullt, vil du begynne å se noen fragmentering. Filsystemet er imidlertid utformet 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 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.