Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Disk Defragmentation Software
  3. Shake

Shake

What it is

Shake is a free userspace defragmenter for GNU/Linux that can reorganize fragmented files while the system remains in use. It uses heuristics based on file size, last-shake date or change time, access-time patterns, and fragment counts when selecting files. By default, files larger than 95 MB are skipped, and files newer than two months are not processed. Files whose last-shake time or change time is older than eight times 31 days are eligible; options can alter these limits and tolerances. The --pretend and --verbose options report fragmentation without changing files. A sorted list of MP3 files can be piped into Shake to defragment them and place them close together in lexical order. Installation guidance covers Ubuntu/Debian, Gentoo, Arch Linux, and source builds using CMake and libattr development files.

For and against

For

  • Runs while the system is in use
  • Preview mode avoids changing files
  • Heuristics guide file selection
  • Supports several Linux installation paths
  • Can order MP3 files lexically

Against

  • Linux-only software
  • Usage requires root access
  • Files over 95 MB skipped by default
  • user_xattr improves incremental efficiency

The verdict

Shake provides configurable, userspace defragmentation for GNU/Linux, including a preview mode and ordered MP3 placement. Running it requires root access, and default size and age rules limit which files are processed.

Who it suits

Shake suits GNU/Linux users who want userspace defragmentation and can work with root-level command-line operation. It is also useful when previewing fragmentation before making changes.

On the record

Age behavior
By default, Shake processes files whose last shake time or ctime is older than eight times 31 days and skips files newer than two months; these values can be changed with options.vleu.net · read 4 Oct 2026
Extended attributes
The maker recommends mounting the partition with user_xattr; Shake can run without it but is less efficient because it uses extended attributes to store information for incremental use.vleu.net · read 4 Oct 2026
File ordering
You can pipe a sorted file list into Shake to defragment files and place files close together in lexical order on disk.vleu.net · read 5 Oct 2026
File selection
Shake uses file size, last-shake date or ctime, access-time patterns, and fragment counts in deciding whether files are fragmented enough to process.vleu.net · read 5 Oct 2026
File size behavior
By default, files larger than 95 MB are skipped, and the page says this behavior can be changed with `--big-tolerance`.vleu.net · read 5 Oct 2026
Filesystem requirement
The maker recommends mounting the partition with user_xattr; Shake can run without it but is less efficient for incremental use.vleu.net · read 5 Oct 2026
How it works
It defragments files by rewriting fragmented files.vleu.net · read 5 Oct 2026
Installation
The maker lists Ubuntu/Debian, Gentoo, and Arch Linux installation options and instructions for building from source with CMake and libattr development files.vleu.net · read 4 Oct 2026
Install options
The page lists Ubuntu/Debian, Gentoo, and Arch Linux installation options and instructions for building from source.vleu.net · read 5 Oct 2026
Maker
The project page names Brice Arnould as the author.vleu.net · read 4 Oct 2026
Maker location
The maker's about page says he lives in Evilard, a village close to Berne, Switzerland.vleu.net · read 4 Oct 2026
Preview
The `--pretend` and `--verbose` options can show fragmentation without running a defragmentation pass.vleu.net · read 5 Oct 2026
Preview mode
Shake can report fragmentation without changing files using the --pretend and --verbose options.vleu.net · read 4 Oct 2026
Purpose
Shake is a userspace defragmenter for GNU/Linux that can run while the system is in use.vleu.net · read 5 Oct 2026
Root access
The usage instructions say to run Shake as root.vleu.net · read 5 Oct 2026
Source code
The maker links to a public GitHub repository whose file list includes COPYING and GPL.txt.github.com · read 5 Oct 2026
Support contact
The project page lists [email protected] as the author's email address.vleu.net · read 5 Oct 2026
Usage
The maker says to run Shake as root on a directory and recommends running it on the whole partition when it is not in use for better results.vleu.net · read 4 Oct 2026

Alternatives to Shake

Every alternative, ranked