天天看點

關于rm删除檔案空間不釋放的問題

一般說來不會出現rm掉不釋放空間的情況

出現這樣的情況一般是由于有程序在向檔案中寫資料或有程序正在通路檔案

而此時rm檔案則會出現不釋放空間的情況

了解這樣的問題需要了解rm的操作内含

一個檔案的存放有資料部分和指針部分,而指針位于檔案系統的頭

删除作業系統的一個檔案與oracle drop表的實質有些相似

處理掉指針,檔案資料部分占用的空間就可以寫入新内容了

之是以出現rm不釋放即為有程序在用這個檔案而引起作業系統認為這個檔案未實質釋放,進而df或bdf空間統計不正确

這一類問題的解決方法一般說來可以重新開機作業系統,重新umount及mount那個檔案系統

這并不是一個好方法

我建議的操作方法如下:

1、下載下傳一個lsof軟體裝上,google上可以搜到

2、找到正在用被删檔案的程序

  lsof | grep deleted

3、kill掉相應的程序空間就釋放了

其它建議:

1、清理alert.log listerner.log這些日志檔案時最好用">檔案"這樣的操作方式,不要用rm。

2、清理歸檔日志最好用backup ... delete input這樣的方式。

3、如果你的作業系統總出現rm不釋放空間的問題,該請sa好好查查系統問題了,同時可以在rm前用lsof看一下有無程序在用這個檔案。

4、解決問題的方法很多,最好不要用重新開機資料庫或重新開機作業系統這樣的方法

繼續閱讀