Ed Greshko wrote:
John Wendel wrote:
aragonx@xxxxxxxxxx wrote:
As you can gather from the other responses. defrag isn't used often on a
Linux system. It isn't needed; the Linux kernel and friends do much
better job of allocating space on a hard disk.
The following two sites begin the explanation. You can explore more
from there.
http://en.wikipedia.org/wiki/Defragmentation#_note-4
http://pl.atyp.us/wordpress/?p=241
I have had several threads on this very list about this subject. The
threads went something like this (dramatization):
Me: I want to defrag my disk
Everyone else: Shut up noob. Linux doesn't need to do that winblows M$
nonsense.
Me: How could a filesystem never get fragmented. It's not possible.
Everyone else: Go back to M$ you. We will have none of this Linux
bashing.
Fast forward to today, a few years later. I've got several file systems
that are showing 20 - 30% non-contiguous as reported by fsck and I
have no
way other than a cp or dump to fix it. This just doesn't seem right.
The real question is not so much if there is fragmentation or not. It
is,
is there a performance difference or not. Honestly, I can't say for
sure.
I don't have reliable tests from years ago as to how long it took to
copy, write or read from a file to compare it to. I can say this, my
performance is not bad enough to warrant the file system dump and
restore.
So, in conclusion, after years of heavy usage, my file systems still
perform reasonably well. It would be nice to be able to defragment your
hard drive but realistically, it isn't much needed.
I hope that answers your question with real world experience.
---
Will Y.
We haven't yet reached filesystem perfection!
A quick google for "ext4" reveals that the file system gods think that
it is worth the effort of writing a new (and incompatible with ext3)
Really? I thought the case was....
Backward compatibility
The ext4 filesystem is backward compatible with ext3, making it possible to
mount an ext3 filesystem as ext4 (using the “ext4dev” filesystem type).
Forward compatibility
The ext4 filesystem is forward compatible with ext3, that is, it can be
mounted as an ext3 partition (using “ext3” as the filesystem type when
mounting). However, if the ext4 partition uses extents (one of the major new
features of ext4), forward compatibility and therefore the ability to mount
the filesystem as ext3 is lost. Extents were enabled by default in the
2.6.23 kernel. Previously, the “extents” option was explicitly required
(e.g. mount /dev/sda1 /mnt/point -t ext4dev -o extents).
filesystem. The development version of the code is in the current
kernel.org kernel (and in F8 ???). Among its features are a new block
allocation scheme that keeps files contiguous and "online
defragmentation" (whatever that is). I assume that in a few years we'll
be complaining that the online defrag demon is taking too much CPU time
on our 64 core box.
I amused that there is an entire industry devoted to selling software to
defrag winblows filesystems.
Excuse me, I should have read more carefully. I'll shut up now :(
Regards,
John