Defragmentera ext4 partitioner vid behov

Permalänk
Medlem

Defragmentera ext4 partitioner vid behov

Testa först och se om det behövs defragmentering, gäller enbart partitioner med
filsystemet ext4 (e4defrag).

Det har ju pågått en hel del diskussioner kring om man ska behöva defragmentera ext-filsystem eller inte. Att det aldrig skulle behövas är en ren myt men det krävs dock mer sällan för filsystem som ext4 än för ntfs, fat32, etc.
Kommando följer med i paketet e2fsprogs.

Man kan köra kommandot med flaggan -c eller -cv för att se om man behöver defragmentera. Testade det på min hempartition (sda5) för Bionic som jag har använt under ca ett halvår.

Kommando: sudo e4defrag -c /dev/sda5
Gav följade svar:
Total/best extents 61224/55708
Average size per extent 2430 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda5) does not need defragmentation.
Done.

Som ni kan se så finns ingen fragmentering på min sda5 partision.

Jag testade öven root (/) partisonen

kommando sudo e4defrag -c /dev/sda1
Gav följande svar:
Total/best extents 129311/123263
Average size per extent 72 KB
Fragmentation score 2
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda1) does not need defragmentation.
Done.

Här finns mycket liten fragmentering, har haft samma score [2] på / partitionen sen jag installerade Bionic.
Ger mig dock inte på att defragmentera (behövs inte).

Permalänk
Medlem

Man skall vara försiktig. Jag tror det är helt onödigt. Jag hade gjort "uppdaterat" ett ext3 till ext4. Inga problem. Därefter testade jag ett defrag-program (glömt vilket). Därefter var hela filsystemet korrupt. I dag ligger långt över 90% av all data jag har på ext4, som jag skapat direkt. Aldrig några problem, trots att filsystemen varit överfyllda ibland. Alltså defrag behövs inte. På windows ntfs behöver man köra defrag regelbundet om man skapar filer från Linux, med gratisprogrammet ntfs-3g.

Permalänk
Medlem
Skrivet av Tramp:

[…] Att det aldrig skulle behövas är en ren myt […]

Tekniskt sett kanske det är sant, men sett till realistiskt användande är det inget som behövs. Speciellt inte om man har en SSD.

Visa signatur

Spara på minnen, inte saker.

Permalänk
Medlem
Skrivet av Hund:

Tekniskt sett kanske det är sant, men sett till realistiskt användande är det inget som behövs. Speciellt inte om man har en SSD.

Så här ser set ut på ett filsystem det skrivits och lästs på rätt random 5-8 MByte/s kontinuerligt sen maj-2018 (raid 0 array för att få lite bättre prestanda)

# e4defrag -c /dev/md0
<list of fragmented files removed>

Total/best extents 195745/194227
Average size per extent 1892 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/md0) does not need defragmentation.
Done.

Dock endast ca 300GB använt av 1800GB.

Permalänk
Medlem

ext3 och ext4 är designad med mycket noga koll på de misstag som man gjorde i NTFS och vinnlade sig att inte upprepa dessa igen även när man har 'tuff' körning med torrent med många parallella filnedladdningar som laddas ned i slumpmässig ordning (alltså ej förallokerade filer) och att filerna växte ut åt båda hållen under processen gentemot den första skrivningen.

Av TS inlägg med något så när mogna filsystem måste man nog säga att de har lyckats ganska bra...

Andra filsystem som BTRFS så försöker man förvisso minska fragmenteringen även där med olika strategier och lyckas nog ganska bra när helt nya filer skrivs - men iom. att det är en COW-filsystem så kommer det att fragmentereras vid modifieringar (som olika databasfiler när nya poster skrivs och andra ändras) då alla ändringar inom en fil alltid skrivs på nya sektorer och de redan skrivna ändras aldrig förrän sektorerna är helt avrefererade och inte kopplad till någon fil alls i filsystemet. Därför finns det i BTRFS att man kör defragmentering emellanåt som en del av filsystemunderhållet.

Permalänk
Medlem

Har man SSD behöver man inte defragmentera..
https://pcforalla.idg.se/2.1054/1.716753/defragmentera-ssd

Visa signatur

Nerd is the new Cool

Permalänk
Medlem

Inte helt sant - man behöver inte defragmentera lika ofta med SSD som med snurrdisk - dock någon gång per år behöver själva NTFS defragmenteras - speciellt om det har körts mycket torrent och liknande.

Det beror på att en (media)fil som är upphackad i 10000-tals småbitar (vilket är lätt hänt efter torrentnedladdning med många parallella mediaströmmar samtidigt - NTFS är inte bra på just detta... inte alls bra...) tar längre tid att ladda än samma fil som är uppdelad på enstaka hundra tals extension även på en SSD.

Sedan kommer inte TRIM att arbeta speciellt bra om filerna delas upp i småbitar och filbitarna läggs ut spritt som en hagelskott över minnesytan och för att TRIM skall arbeta bra så vill den har 8-16 och kanske tom. 32 MByte sammanhängande flash-minne frisläppt för att kunna radera i förberedande syfte och det räcker med en enda sektor med giltig data kvar för att minnesområdet skall bli låst och TRIM-kommandot ignoreras och skrivprocessen går långsammare vid större skrivningar då förberedda minnet tar slut fort (ofta mindre än 5% av SSD:s storlek) och det måste göra en 'read-modify-write' hela tiden för varje ny block som skall skrivas för att få loss hela block som kan raderas strax efter och sedan användas för skrivning igen.

Att tänka på är att TRIM används inte i windows när man har NVMe-minne (eller moderkorts-RAID konfiguration) då det inte är AHCI-kompatibelt och då måste hanteras med SSD-disk tillverkarens egna drivrutiner.