SDB:Disk space

Jump to: navigation, search


More disk space is needed or desired.


You must be logged in as root to make changes to the system partition.

With btrfs, check disk space using:

btrfs fi usage /


The place to start is checking your snapshots. Very old snapshots will appear to consume a lot of space.

If you have never run a "snapper rollback", then you can't delete snapshot 1 (this is normal). If you have, then you won't be able to delete whatever snapshot you rolled back to. You can check what snapshot that is at the top of the "findmnt" output.

Check how many snapshots you have:

snapper list

If for some reason you have dozens or hundreds of snapshots, then the daily cleanup isn't being run.


It's a bash script you can also run manually, but there are other ways.

Delete a specific snapshot:

snapper rm <n>

Delete a range of snapshots:

snapper rm <n1>-<n2> calls the cleanup algorithms, which you can also call:

snapper cleanup <number/timeline/empty-pre-post>

Finally there is a systemd service:

systemctl start snapper-cleanup

Phantom snapshots

Occasionally, snapshots not listed by snapper will still exist. Check with:

btrfs subvolume list /

The two reportedly effective methods for removing unlisted snapshots are:

Systemd journal

You can check the size of the journal with:

journalctl --disk-usage

If you don't care about log entries from more than two days ago, you can:

journalctl --rotate
journalctl --vacuum-time=2d

You can also set limits in /etc/systemd/journald.conf


Old kernels

On Tumbleweed old kernels can build up. You can remove them with:

systemctl start purge-kernels

Zypper cache

You can delete the zypper package and/or metadata cache with:

zypper clean

Temporary files

There is a systemd timer/service set to run 15 minutes after boot that calls:

/usr/bin/systemd-tmpfiles --clean

There are two ways to check if the timer is active:

systemctl list-timers
systemctl status systemd-tmpfiles-clean.timer

See also

Related articles

External links