1. 程式人生 > 其它 >linux磁碟釋放

linux磁碟釋放

linux裡的檔案被刪除後,空間沒有被釋放是因為在Linux系統中,通過rm或者檔案管理器刪除檔案將會從檔案系統的目錄結構上解除連結(unlink).然而如果檔案是被開啟的(有一個程序正在使用),那麼程序將仍然可以讀取該檔案,磁碟空間也一直被佔用。

解決方法:
1、先df -lh檢視一下磁碟使用狀況
2、找到被刪除檔案所在的分割槽/root
3、檢視被刪除了的所有檔案:lsof -n |grep deleted

檢視到很多的delete所佔程序埠號比較多不可能一個個刪除。可以使用批量刪除。

lsof -n|grep delete | awk '{print "kill -9 " $2}' > bb.sh
執行上面命令生成b.sh
然後執行b.sh指令碼

當然kill -9這種方式雖然簡單暴力,但是會有很多隱患,而且生產環境儘量不要讓服務中斷,我們可以在這些被程序鎖定的日誌檔案重定向覆蓋為空內容即可,這樣檔案的指標則會更新記錄:空內容的日誌檔案所佔空間為0,非常方便,磁碟空間立即釋放