du查看的文件大小与df查看的大小相差太大~ 你遇到过吗?

    遇到了这个情况,很纳闷~  起因是由于一云主机的rsync同步不了文件了,首先想到的就是是不是inode满了,用df -i一看,并不是这个原因,再一看磁盘df -h,发现问题了,根分区写满了!!!

    那么问题来了,到底是什么东西占用这么大的空间呢?

    du -sh *查看根下文件大小:总共才占了8G,而根分区总共是20G!

    尝试使用lsof查看:   du查看的文件大小与df查看的大小相差太大~ 你遇到过吗?_第1张图片    尼玛,这么多已删除文件!这些都是我昨天已删除的啊,为什么空间没有释放呢?

   原因:直接用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




你可能感兴趣的:(lsof,du,df,磁盘空间)