文件删了磁盘空间没释放

问题:

某天发现某台机器df-h已用磁盘空间为90G,而du-sh/*显示所有使用空间加起来才30G,囧。

原因:

可能某人直接用rm删除某个正在写的文件,导致文件删了但磁盘空间没释放的问题

解决:

1)最简单重启系统或者重启相关服务。

2)干掉进程

/usr/sbin/lsof|grepdeleted

ora25575data33uREG65,654294983680/oradata/DATAPRE/UNDOTBS009.dbf(deleted)

从lsof的输出中,我们可以发现pid为25575的进程持有着以文件描述号(fd)为33打开的文件/oradata/DATAPRE/UNDOTBS009.dbf。

在我们找到了这个文件之后可以通过结束进程的方式来释放被占用的空间:echo>/proc/25575/fd/33

3)删除正在写的文件一般用cat/dev/null>file


作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:Read-onlyfilesystem
下一篇:find文件提升性能

发表评论

阿里云2021年 618 年中钜惠活动