Menu Home

Linux删除文件后空间不释放

删除文件之后空间的释放的问题,还是在处理maillog的问题发现的。经过一轮排查之后发现/var/log/maillog的居然有2G还多。

既然找到目标了,一个命令 rm -f /var/log/maillog 搞定。

接着又执行了一次 df -h,结果发现磁盘使用率还是96%,没有一点变化。mmp!

查找一番之后,发现大概的原因如下:当一个文件正在被一个进程使用时,用户删除此文件,文件只会从目录结构中删除,但并没有从磁盘删除。当使用这个文件的进程结束后,文件才会真正的从磁盘删除,释放占有的空间。

执行命令:

lsof | grep delete

执行命令:

lsof +L1

执行命令:

echo "" > /proc/$pid/fd/$fd
echo "" > /proc/1014/fd/3

就可以释放文件/tmp/.ZendSem.4PUtvi占用的空间了。

Categories: Linux

Tagged as:

muzi