If df -h shows inadequate numbers...
Posted on 20 April 2017 in linux
It's a brief summary for the issue with different disk usage reports shown by df
and du
linux CLI utilities.
First of all if your device contains 100Gb and df shows 100% on 95Gb it's okay, because 5% of a disk is being reserved in order the system would able to run when the disk is "full"
If you stumbled upon a wierd issue when df
and du
commands show completely different results, in my case it was 100% usage from df
and less than 40% from du
most likely you have one of two issues:
- you've removed a huge file, that was used by a process. The process keeps holding disk space so you will need to restart you machine (or just the process) in order to free the space. This command will show you how much is being hold by deleted files.
# lsof / | gawk -F" " '{ print $7}' |sort| uniq| awk '{ sum += $1} END { print sum/(1024*1024*1024) }'
- you need to force fsck in order you FS being checked (I haven't found a root cause that is bein fixed by this, some people on the Internet is saying that it helped them)
# touch /forcefsck && reboot
- and what was in my case: my script run by crontab created a backup in /mnt when a dedicated HDD was not mounted. Next day I've fixed the HDD and mounted it there as usual. Thus
du
is ingoring this mountpoint butdf
is not. To fix this just unmount you HDD, remove unwanted files and mount it back.
Happy troubleshooting!