EVERYTHING XIAOMI
Get listed

Shake

Shake is a free userspace defragmenter for GNU/Linux that can reorganize fragmented files while the system is running.

Place
#18 of 20
Score
5.3
Shake's website

What Shake is

Shake is a free userspace defragmenter for GNU/Linux that can reorganize fragmented files while the system is running. It uses heuristics based on file size, last-shake time or change time, access-time patterns, and fragment counts to decide what to process. By default, it skips files larger than 95 MB and files newer than two months; files whose last-shake time or change time is older than eight times 31 days are eligible. Options can change the size thresholds and tolerances. To inspect fragmentation without changing files, use the `--pretend` and `--verbose` options. A sorted list of MP3 files can be piped into Shake to defragment them and place them close together on disk in lexical order. Installation instructions cover Ubuntu/Debian, Gentoo, and Arch Linux, as well as a source build using CMake and libattr development files. Shake uses extended attributes for incremental operation. The author recommends mounting the partition with `user_xattr`; Shake can run without it, but less efficiently. Usage instructions call for root access and recommend running it on an idle whole partition for better results. The project page names Brice Arnould as the author.

Good

  • Can run while the system is in use.
  • Preview fragmentation without changing files.
  • Supports Ubuntu/Debian, Gentoo, and Arch Linux.
  • Options adjust file thresholds and tolerances.

Watch out

  • Usage instructions require root access.
  • Incremental use is less efficient without `user_xattr`.
  • Files larger than 95 MB are skipped by default.

Who it suits

Shake is suited to GNU/Linux users comfortable with root access who want to reorganize fragmented files or inspect fragmentation. Its documented installation routes include several distributions and a source build.

Verdict

Shake offers configurable file selection and a preview mode for GNU/Linux. Users should account for its root-access requirement and the recommended `user_xattr` mount option when planning incremental use.

The facts

Each one read from Shake's own pages, with the date it was checked.

What it does

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.checked 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.checked 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.checked 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.checked 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`.checked 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.checked 5 Oct 2026
How it works
It defragments files by rewriting fragmented files.checked 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.checked 4 Oct 2026
Install options
The page lists Ubuntu/Debian, Gentoo, and Arch Linux installation options and instructions for building from source.checked 5 Oct 2026
Preview
The `--pretend` and `--verbose` options can show fragmentation without running a defragmentation pass.checked 5 Oct 2026
Preview mode
Shake can report fragmentation without changing files using the --pretend and --verbose options.checked 4 Oct 2026
Purpose
Shake is a userspace defragmenter for GNU/Linux that can run while the system is in use.checked 5 Oct 2026
Root access
The usage instructions say to run Shake as root.checked 5 Oct 2026
Source code
The maker links to a public GitHub repository whose file list includes COPYING and GPL.txt.checked 5 Oct 2026
Support contact
The project page lists [email protected] as the author's email address.checked 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.checked 4 Oct 2026

The company

Founded
2008checked 28 Sep 2026
Maker
The project page names Brice Arnould as the author.checked 4 Oct 2026
Maker location
The maker's about page says he lives in Evilard, a village close to Berne, Switzerland.checked 4 Oct 2026

Alternatives to Shake

All alternatives
  1. 1

    Avidemux

    Free planOpen sourceWebLinuxmacOSWindows
    7.3Free plan
  2. 2

    Btrfsmaintenance

    Free planOpen sourceLinuxSelf-hosted
    6.9Free plan
  3. 3Disk SpeedUp logo

    Disk SpeedUp

    Free planWindows
    6.6Free plan
  4. 4Autoruns logo

    Autoruns

    Free planWindows
    6.3Free plan
  5. 5

    DymaxIO

    Windows
    6.2From $69 a year
  6. 6

    Windows File Recovery

    Free planWindows
    6.2Free plan