e4defrag - online defragmenter for ext4 filesystem
] [ -v
reduces fragmentation of extent based file. The file targeted by
is created on ext4 filesystem made with "-O extent"
option (see mke2fs
(8)). The targeted file gets more contiguous blocks
and improves the file access speed.
is a regular file, a directory, or a device that is mounted as
ext4 filesystem. If target
is a directory, e4defrag
fragmentation of all files in it. If target
is a device,
gets the mount point of it and reduces fragmentation of all
files in this mount point.
- Get a current fragmentation count and an ideal
fragmentation count, and calculate fragmentation score based on them. By
seeing this score, we can determine whether we should execute
e4defrag to target. When used with -v option, the
current fragmentation count and the ideal fragmentation count are printed
for each file.
- Also this option outputs the average data size in one
extent. If you see it, you'll find the file has ideal extents or not. Note
that the maximum extent size is 131072KB in ext4 filesystem (if block size
- If this option is specified, target is never
- Print error messages and the fragmentation count before and
after defrag for each file.
does not support swap file, files in lost+found directory, and
files allocated in indirect blocks. When target
is a device or a mount
doesn't defragment files in mount point of other
It safe to run e4defrag on a file while it is actively in use by another
application. Since the contents of file blocks are copied using the page
cache, this can result in a performance slowdown to both e4defrag and the
application due to contention over the system's memory and disk bandwidth.
If the file system's free space is fragmented, or if there is insufficient free
space available, e4defrag may not be able to improve the file's fragmentation.
Non-privileged users can execute e4defrag
to their own file, but the
score is not printed if -c
option is specified. Therefore, it is
desirable to be executed by root user.
Written by Akira Fujita <firstname.lastname@example.org> and Takashi Sato