问题描述:
在自己的虚拟机上做实验时出现空间不足情况,检查发现之前的kafka集群测试日志在几天写了 25G,于是进入 /data/kafka01/logs 目录执行 “rm -rf *” 删除所有测试日志,但发现如下图空间并未完全释放。
问题分析:
1. rm 删除文件其实是清除了文件名等信息,并没有释放存储空间,如果有进程调用此文件则空间不会释放。
解决办法:使用 “ lsof -n | grep filename ”找出对应进程,并关闭它。
2. 由于 Linux 内核设计进程在进行文件操作时会对 d_inode 进行加1,所以会出现目录为空但占用空间。
解决办法:删除目录或者重启机器(本文最终将目录删除后空间全部释放)
建议:可以尝试使用 "echo > filename" 清理空间