linux系统删除文件后,仍占用磁盘空间的问题

一 场景 通过rm -rf 或者 xftp工具删除日志文件时,实际删除了,但是磁盘空间没有被释放,导致磁盘可用空间一直很小,linux上部分功能无法使用。 二

一. 场景

通过rm -rf 或者 xftp工具删除日志文件时,实际删除了,但是磁盘空间没有被释放,导致磁盘可用空间一直很小,linux上部分功能无法使用。

二. 解决方案

1. 跳到根目录下

cd /

2. 检查磁盘占用空间

df -h

通过上图可以看出,已经使用空间442G,可用只有18G,随时可能出现服务器故障

我的出现如下故障,导致大部分时间去查找以下问题原因了,入坑

  • elk日志收集因为磁盘空间可用少于95%,导致索引为只读,新的日志数据无法导入到es
  • 服务器上redis卡崩了
  • 服务器上业务系统因为空间不足,部分功能无法正常显示

所以对于服务器硬件内存使用还是要监控一下的,不然到了正式很容易出现问题

3. 到根目录下运行

du -h --max-depth=1

最后一行显示占用68G,非常奇怪,其他400多G去哪了?

4. 查看已删除文件占用磁盘情况

lsof | grep delete

注意:

如果删除的文件时root用户创建 的,或者时root用户删除的,需要root用户下执行上面命令

5. 杀死进程

kill -9 3467

6. 再次查看磁盘空间

df -h

总结

磁盘使用率15%,成功解决问题!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持好代码网。