Linux删除文件后没有腾出磁盘空间

Linux删除文件后没有腾出磁盘空间

问题

删除文件后没有释放出磁盘空间

  

原因

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

  

解决方法

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

  

(2)杀掉进程

/usr/sbin/lsof|grep deleted

ora??? 25575 data?? 33u????? REG????????????? 65,65?? 4294983680? /oradata/DATAPRE/UNDOTBS009.dbf (deleted)

从lsof的输出中,我们可以发现pid为25575的进程持有着以文件描述号(fd)为? 33打开的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我们找到了这个文件之后可以通过结束进程的方式来释放被占用的空间:echo? > /proc/25575/fd/33

  

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