Linux磁盘空间清理未生效问题记录

时间有限,先做个简记,后面再来丰富。

问题背景:

服务器磁盘告警,找到不需要的文件,做rm -Rf xxx操作,df -h打印出来一看,空间并未释放,猜测是某种机制导致的释放延迟,所以坐等了一会再看,空间依然没释放。

原因

通过查阅相关资料,了解到被删除文件被执行rm命令时,如果有进程操作该文件,该文件不会被立马删除,而是被标记为deleted;直到操作该文件的所有进程都结束,该文件才会被删除。
delete状态下的文件不可见,使用ll命令时该文件看不见摸不着,但实实在在的占用了磁盘空间。可以通过执行下列命令查看被标记为delete的文件清单:

lsof | grep deleted

解决方案

  • kill掉打开文件的进程,占用的磁盘空间即可回收
  • 执行echo " " >/dir/xxxFile,清空目标文件

你可能感兴趣的:(Linux磁盘空间清理未生效问题记录)