遇到了這個情況,很納悶~ 起因是由於一雲主機的rsync同步不了文件了,首先想到的就是是不是inode滿了,用df -i一看,並不是這個原因,再一看磁盤df -h,發現問題了,根分區寫滿了!!!
那麼問題來了,到底是什麼東西佔用這麼大的空間呢?
du -sh *查看根下文件大小:總共才佔了8G,而根分區總共是20G!
嘗試使用lsof查看: 尼瑪,這麼多已刪除文件!這些都是我昨天已刪除的啊,爲什麼空間沒有釋放呢?
原因:直接用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