Use df -ah and du -h --max-depth=1

The total from du is far smaller than the total reported by df.

When a process deletes files but keeps running, the files are not actually removed, so disk space is not freed, and those files are not counted.

lsof |grep delete