Linux下删除文件没有释放空间的问题

时间:2021-07-11 16:14:58

今天服务器磁盘爆满了,发现是tomcat的日志文件过大导致,所以需要删除该日志文件。

我们在Linux下用rm命令或者文件管理器中删除了一个文件后,发现空间并没有被释放,磁盘还是满的。

用下面的命令查看磁盘使用情况:

Linux下删除文件没有释放空间的问题

可以看到已经有一个使用率是100%了。

为什么没有释放空间呢?因为我们删除的只是对这个文件的连接(link),如果有进程还在对这个文件进行读写操作,该文件是无法实际删除释放空间的。

到底哪些进程在使用这个文件呢?用下面的命令查看:

lsof   |grep  deleted 

Linux下删除文件没有释放空间的问题

这个命令就可以列出你所有已经删除的文件还在被哪些进程使用。
然后kill掉这些相关的进程就可以了。
命令:kill -s 9 PID               (PID是进程号,-s 9 代表尽快直接杀死进程)
再去查看磁盘使用情况,发现空间已经释放:
Linux下删除文件没有释放空间的问题


完毕。