Freeing Space

Problem:

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.
  • 2 Users Found This Useful
Was this answer helpful?

Related Articles

What are .htaccess files and how to create and edit them

.htaccess files are used to configure and provide the server with instuctions regarding the...

[EA3] New Relic APM on cPanel & CloudLinux CageFS

Many System Administrators tried to get PHP apps hosted on a cPanel server with CloudLinux and...

[CentOS/RHEL/CloudLinux] rpc.statd is not running but is required for remote locking

Fixing rpc.statd is not running but is required for remote locking   If you come across this...

Recommended firewall

What firewall do you recommend to secure my Linux server? MACI recommends the CSF (ConfigServer...