弹性云主机

文件已经删除,但空间未释放怎么办?

2025-10-31 02:52:05

问题原因

在Linux或UNIX系统中,通过rm命令或者文件管理器对某个文件执行删除操作后,该文件将会从文件系统的目录结构上解除链接(unlink)同时从磁盘上清除数据。如果删除文件时,文件正在被一个或多个进程占用(如文件正在被浏览或读取),将出现解除链接(unlink)成功,而清除数据失败的情况,即空间未释放。

解决方案

查询占用文件的进程,并使用kill命令结束该进程。进程结束后,文件空间将自动释放。

操作步骤

1.  执行以下命令,查询已删除但仍然被进程占用的文件列表。

$ /usr/sbin/lsof | grep deleted

2.  执行命令后会获得如下回显信息(此信息为示例,请您以实际回显信息为准)。

cfg 27757 data 35u ocd 65,67 4295334545 45555532/oradata/DATA/fcuser.bak(deleted)

从回显信息中可见pid为27757的进程占用了刚刚删除的文件/oradata/DATA/fcuser.bak,文件名后的“(deleted)”为文件已被删除的标记。

3.  执行以下命令,通过结束该进程来释放被占用的空间。

kill -9 27757


FfSnmlp_50J.