Linux刪除檔案空間未釋放

2021-10-08 16:33:10 字數 1165 閱讀 3625

郵件保障/u01目錄剩餘空間不足5%

在linux或者unix系統中,通過rm或者檔案管理器刪除檔案將會從檔案系統的目錄結構上解除鏈結(unlink)。然而如果檔案是被

開啟的(有乙個程序正在使用),那麼程序將仍然可以讀取該檔案,磁碟空間也一直被占用。

檢視被開啟的已刪除檔案

驗證該檔案是否存在:

正常來說直接把程序殺了,資源立刻就能被釋放。但是這是生產環境,問了開發人員程序不能殺,那怎麼辦呢?

最徹底的方法當然就是重啟程序,殺程序或重啟伺服器。但是不能殺的情況下,怎麼釋放資源呢?

當linux開啟乙個檔案的時候,linux核心會為每乙個程序在

/proc目錄下建立建立乙個以其pid為名的目錄用來儲存程序的相關資訊,而其子目錄fd儲存的是該程序開啟的所有檔案的fd(fd:file descriptor)。

cd /proc/397965/fd

ll | grep deleted

清理檔案

通過以上方法,在不殺程序的情況下,順利釋放了磁碟空間。但這只是乙個臨時的處理方式,該檔案不釋放仍會持續增長下去。仍然需要專案組預約乙個維護視窗,把所有程序都殺掉,徹底釋放資源才算徹底解決。

筆記 Linux檔案刪除空間未釋放

一次檢查過程中,使用df h 檢查磁碟使用,發現 var目錄空間使用100 通過檢查,發現是檔案maillog 20200723導致,故進行了刪除操作 但是發現刪除檔案後,使用df h 發現空間仍然占用100 檢查刪除檔案的程序 lsof grep deleted rsyslogd 1873 roo...

linux檔案刪除空間未釋放是為什麼

今天在生產環境上某個應用去kafka消費資料一直報錯,日誌資料瘋狂增加,一下子就把磁碟空間佔滿了,本人當時沒想太多直接rm core.log一波,然後發現磁碟空間並未釋放!原因很顯然就是忽略了有應用一直在往其中寫資料,直接刪除無法釋放磁碟空間。遇到這種問題,依據情況不同解決辦法可以不一樣。方法一 首...

關於mysql資料刪除後空間未釋放

有很多人在做mysql資料庫的時候,當資料刪除的時候,以為空間釋放了,其實並不是,空間沒有被釋放,導致磁碟的空間越來越小。大家可以右擊檢視表資訊,有個資料可用空間一欄,如果為o,說明沒有為釋放的磁碟空間,如果大於0 說明裡面有未釋放的空間,這裡就需要去釋放該錶的空間了。只要執行sql語句 optim...