Is there a way to tell the kernel to give back the free disk space now? Like a write to something in /proc/ ?
This is probably an old and very repeated theme. After hitting 0 space only noticed when my editor couldn't save source code files I have open, which to my horror now have 0 byte size in the folder listing, I went on a deleting spree.
An hour later still no free space and cannot save my precious files opened in the editor, but notice the disparity below:
# sync; df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda4 13915072 13304004 0 100% /
Any suggestions? I shut off some services/processes but not sure how to check who might be actively eating disk space.
Solution:
sudo lsof | grep "(deleted)$" | sed -re 's/^\S+\s+(\S+)\s+\S+\s+([0-9]+).*/\1\/fd\/\2/' | while read file; do sudo bash -c ": > /proc/$file"; done
Explanation:
Grep
lsof
output to extract only deleted files. Sed extract the process id and filedescriptor id from each line, and create a string in format {pid}/fd/{fid}
. While loop and output nothing to each file, setting them to empty.