e4defrag
github.com
What it is
e4defrag is a Linux utility for defragmenting extent-based files on ext4 filesystems. It accepts an individual file, a directory and its files, or a device mounted as ext4. The utility aims to place targeted data in more contiguous blocks, which the manual says can improve file access speed. Its -c option reports current and ideal fragmentation counts and a fragmentation score without making changes; the score appears only when the check runs as root. With -v, it prints error messages and each file’s fragmentation count before and after defragmentation. e4defrag checks for ext4 and reports an error for other filesystem types. It does not support swap files, files in lost+found, or files allocated in indirect blocks. A target device or mount point excludes files belonging to another device’s mount point, and fragmented or insufficient free space can prevent improvement. The manual says it is safe to run while another application uses a file, though shared memory and disk bandwidth can slow both. It is free at free.
Spec sheet
- Purpose
- e4defrag is an online defragmenter for extent based files on ext4 filesystems.Read 4 Oct 2026 · man7.org
- Support
- The project README directs bug reports for its programs to Ted Ts’o by email.Read 4 Oct 2026 · github.com
- Authors
- The e4defrag source credits Akira Fujita and Takashi Sato as authors.Read 4 Oct 2026 · github.com
- Defragmentation
- It aims to give targeted files more contiguous blocks, which the manual says improves file access speed.Read 4 Oct 2026 · man7.org
- Fragmentation check
- The -c option reports current and ideal fragmentation counts and a fragmentation score without defragmenting the target.Read 4 Oct 2026 · man7.org
- Free space
- Fragmented or insufficient filesystem free space can prevent e4defrag from improving a file’s fragmentation.Read 4 Oct 2026 · man7.org
- Other mount points
- When given a device or mount point, it does not defragment files belonging to another device’s mount point.Read 4 Oct 2026 · man7.org
- Permissions
- Non-privileged users can run it on their own files, but the fragmentation score is not printed for -c runs unless run as root.Read 4 Oct 2026 · man7.org
- Project
- The maker’s README describes e2fsprogs as second extended filesystem management programs and says it supplies instructions for building and installing them.Read 4 Oct 2026 · github.com
- Supported filesystem
- The source checks for ext4 and reports an error when the filesystem is not ext4.Read 4 Oct 2026 · github.com
- Targets
- It accepts a regular file, directory, or device mounted as ext4; a directory target covers its files.Read 4 Oct 2026 · man7.org
- Unsupported files
- The manual says e4defrag does not support swap files, files in lost+found, or files allocated in indirect blocks.Read 4 Oct 2026 · man7.org
- Use while active
- The manual says it is safe to run on a file while another application uses it, though shared memory and disk bandwidth can slow both.Read 4 Oct 2026 · man7.org
- Verbose output
- The -v option prints error messages and each file’s fragmentation count before and after defragmentation.Read 4 Oct 2026 · man7.org
Plans and prices
Strong points and limits
Strong points
- Can check fragmentation without defragmenting
- Verbose mode shows counts before and after
- Can run while another application uses a file
- Free at free
Limits
- Works only with ext4 filesystems
- Does not support swap files or lost+found files
- Indirect-block files are unsupported
- Insufficient or fragmented free space can prevent improvement
Who it suits
e4defrag suits Linux users working with extent-based files on ext4 who want to check or address fragmentation. Non-privileged users can run it on their own files, though the fragmentation score for a check is only printed when run as root.
Verdict
e4defrag provides a focused way to check and defragment supported files on ext4. Its filesystem and file-type limits, along with free-space conditions, determine whether it can help a target.
Where Specifiction places it
- Disk Defragmentation Software#9 of 207.5