If you are not able to find any gigantic file , killing some processes might solve the issue (it worked for me, read full answer to know why)
Earlier:
/dev/xvda1 8256952 7837552 0 100% /
Now
/dev/xvda18256952 1062780 6774744 14% /
Reason:
If you do rm on a file which is currently open by any process, it doesn't delete the file and the process still could be writing to the file. These ghost files can't be found by find command and they can't be deleted. Use this command to find out which processes are using deleted files:
lsof +L1
Kill the processes to release the files. Sometimes its difficult to kill all the processes using the file. Try restarting the system (I don't feel good, but that's a quick solution, makes sure no process uses the deleted file)
Read This:
https://serverfault.com/questions/232525/df-in-linux-not-showing-correct-free-space-after-file-removal/232526