Hello! 欢迎来到小浪云!


如何释放被删除但仍然占用磁盘空间的文件


avatar
小浪云 2024-10-09 39


香港云服务器如何清理磁盘空间文件

1. 可以使用 命令查看磁盘空间

df -h

2. 使用查看每个目录的大小的命令

du -sh *

经过查看没有发现任何大的文件夹。 继续下面的步骤

Linux系统中,如果磁盘空间已满,但使用 du -sh 命令无法找到大文件,可能是因为有些文件已被删除,但进程仍在使用这些文件,导致磁盘空间未释放。可以通过以下步骤查找这些文件并释放相应的磁盘空间。

查找占用磁盘空间的已删除文件

首先,可以使用 lsof(List Open Files)命令来查找被删除但仍然占用磁盘空间的文件。

1.查找哪些进程占用了磁盘空间:
sudo lsof | grep deleted
2.查找哪些进程占用了删除的文件:
sudo lsof +L1
3.杀死占用已删除文件的进程:
sudo kill -9 

如果 lsof | grep deleted 的命令没有返回结果,可以直接执行 sudo lsof +L1 命令。如下图是我的进程占用的磁盘空间没有释放

直接 kill 掉进程后的磁盘空间。

在 lsof +L1 命令的输出中,SIZE/OFF 列表示已删除文件的大小或偏移量。需要注意以下几点:

已删除文件的大小:如果文件仍然在被进程使用,那么SIZE/OFF列将显示该文件的当前大小或偏移量

不准确的大小:由于进程对已删除文件的读写操作,SIZE/OFF列中的大小可能会发生变化,因此该信息可能不是完全准确的。

文件不再被使用:如果文件当前不再被任何进程使用,SIZE/OFF列将显示为0。

相关阅读