Knowledge Base:Freeing disk space

Although disk space is relatively cheap as of writing this article, it may not be so easy or even possible to expand storage on mobile, embedded or other devices, so freeing useless disk space is often important. This article introduces tools that help to remove unnecessary system files and optimize the filesystem in order to free disk space.

Package manager
Over time large (or a large number of) unnecessary files accumulate in certain directories on the system. This generally occurs from system upgrades. The following table provides description of file paths to consider for cleanup.;

Gentoo includes the utility as part of the  package to help clean up no longer relevant packages and distfiles.

Kernel sources
Kernel source files distributed through the packages manager will be automatically cleaned up after the kernel sources package has been unmerged or depcleaned. Kernel sources that have been installed (emerged) and compiled create object files and binaries that Gentoo's package manager does not clean up because these files have been created post-package install.

There is a utility available called to help find and clean up compiled kernels:

Cache directories
Over time a large number of unnecessary files accumulate in certain directories as various applications are used:

Personal files
Several graphical tools exist that help to visualize occupied space on the filesystem tree which may help to identify directories and files that take up too much space:

Select an appropriate utility from the table above and install it. Once installed use the utility to locate large or unneeded personal files and directories.

Filesystem reserved blocks percentage
On the ext* family of filesystems, 5% of all blocks are reserved for the privileged user and group by default when created. This provides a safety measure in the case of very low disk space, so privileged processes won't run out of disk space. However, on filesystems with hundreds of gigabytes, 5% is a lot more than would be typically needed in such a situation (on a 300 GB filesystem, that would be about 15 GB). Such reserved space would be even less useful on filesystems serving only as storage, e.g..

Filesystem fragmentation
Although most filesystems use strategies to prevent file fragmentation, some files get fragmented over time. A fragmented file may occupy more blocks than would be needed if the file was stored in a contiguous way. Also, as free space becomes fragmented, the possibility of files becoming fragmented increases.

Removing system maintenance related files
The process or cleaning up these directories can be automated to a certain extent using these tools:

Cache directories
Remove files from directories as needed to free space. This will most likely remove some of the customization in local applications such as file and web browsers, office applications, etc. Be aware of these changes before proceeding.

Personal files
Move or remove any large or unneeded files to free disk space. Moving files to external drives or network storage locations can be helpful if the files need to be preserved.

Reducing the reserved blocks percentage
The reserved blocks percentage on a ext* filesystem can be reduced using the tool from the  package.

This would reduce the percentage of reserved blocks on the filesystem to 1% on the partition represented by the block device :

Defragmenting the filesystem
This approach usually doesn't save much disk space, but might prevent further file fragmentation which would use up more disk space in the long run.

Several tools exist, some are filesystem specific (which usually provide better performance), some not:

External resources

 * Running out of disk space on the Gentoo Forums.