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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM