Linux rm删除文件未释放空间问题分析

问题描述:

  在自己的虚拟机上做实验时出现空间不足情况,检查发现之前的kafka集群测试日志在几天写了 25G,于是进入 /data/kafka01/logs 目录执行 “rm -rf *” 删除所有测试日志,但发现如下图空间并未完全释放。

问题分析:

  1. rm 删除文件其实是清除了文件名等信息,并没有释放存储空间,如果有进程调用此文件则空间不会释放。

    解决办法:使用  “ lsof -n | grep filename ”找出对应进程,并关闭它。

  2. 由于 Linux 内核设计进程在进行文件操作时会对 d_inode 进行加1,所以会出现目录为空但占用空间。

    解决办法:删除目录或者重启机器(本文最终将目录删除后空间全部释放)

建议:可以尝试使用 "echo > filename" 清理空间

 

参考文件:https://www.cnblogs.com/huxiao-tee/p/4657851.html

posted @ 2019-06-04 16:15  phimo  阅读(2984)  评论(0编辑  收藏  举报