df -h - Used space + Avail Free space is less than the Total size of /home

41,355

Solution 1

By default, ext2/3/4 filesystems reserve 5% of the space to be useable only by root. This is to avoid a normal user completely filling the disk which would then cause system components to fail whenever they next needed to write to the disk.

You can see the number of reserved blocks (and lots of other information about the filesystem) by doing:

sudo tune2fs -l /dev/sda8

For a /home partition, it is probably safe to set the reserved fraction to zero:

sudo tune2fs -m 0 /dev/sda8

Which should make an additional ~5GB available.

Solution 2

This question is really about interpreting the output of the df command, which is famously confusing and if you Google it, you'll see many questions about df.

How to Interpret df Output:

"Size" is df results are INCLUSIVE of the 5% reserved space @chronitis told you about. This is the total ABSOLUTE space. This number will approximate the size shown in the results of fdisk -l for the partition which you're reviewing in the df results.

"Used" + "Avail" provides the total EFFECTIVE space and EXCLUDES the 5% reserved space. This is the space you can actually work with.

So nothing is "missing"- the disparity between "Size" and ("Used" + "Avail") totals in df output represents the 5% reserved space

Free Space NOT Accounted For In df Output:

If you're scratching your head thinking "But I deleted that file(s), why can't I see the additional space in df?!?" here's why:

If you delete a large file(s), but the process for it hasn't been terminated, this "free" space won't be reflected in the results of df.

sudo lsof +L1 will identify deleted files still showing a pid.

Solution 3

By default, ext2/3/4 filesystems reserve 5% of the space to be useable only by the superuser, root.

There is also some space reserved for metadata, that is necessary for the file system, for examples inodes and the journal.

You can find some details in the manual

man mkfs.ext4
Share:
41,355

Related videos on Youtube

Kasun Gajasinghe
Author by

Kasun Gajasinghe

Updated on September 18, 2022

Comments

  • Kasun Gajasinghe
    Kasun Gajasinghe over 1 year

    As the output of df -h shows here, something is eating up 5GB of free space. So, it's not available to use.

    I'm also noticing sometimes that the hard disk gets filled up to 100% sometimes. So, I had to restart the machine or delete some unncessary files. Only noticed these in /home partition. Don't know whether these two are related, but appreciate if anyone can put some insight into this.

    $ df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda8             100G   92G  2.7G  98% /home
    
  • Kasun Gajasinghe
    Kasun Gajasinghe over 11 years
    Yep... that's what I've been looking for. Thanks
  • Philippe Delteil
    Philippe Delteil over 5 years
    In my case it freed around 22 GB!
  • Mah35h
    Mah35h over 2 years
    is its safe to set reserved size to 0 on a mounted partition ( not / )? Because I accidentally did just that