之前遇到的磁碟df -h 和du -sh * 檢視檔案大小結果不一致,發生這種情況的原因一般有兩種:
1.有隱藏檔案
2.磁碟空間未釋放(被刪除的檔案正在被程序使用,所以linux系統認為檔案還存在,不對其空間進行釋放。)
解決思路:
lsof | grep deleted 找到未釋放的程序,第7列字段為檔案的大小,找出檔案占用最大的程序$(第二列)
/proc/$/fd 這是個目錄,包含當前程序開啟的每乙個檔案的檔案描述符
進入到/proc/$/fd 然後 ll | grep deleted 找到對應的 描述符id 然後 清空即可釋放磁碟空間,
找到這種含deleted 軟連線的 ,然後清空描述符id
注意: 該方法只是臨時釋放磁碟空間,程序並沒有被kill 所以可能任會存在磁碟被占用的情況,只有該程序所在服務重啟程序被殺死才會完全釋放
Linux磁碟空間釋放
在近期的實際工作中,遇到過幾次因為磁碟空間滿而導致服務不可用的情況,所以免不了要對系統進行清理。在最開始的幾次清理過程中,通過刪除一些大日誌檔案可以得到立竿見影的效果,所以就沒怎麼注意 但是在最近一次的清理過程中,發現根目錄的使用率已經到達百分百,但是並沒有在根目錄下發現有什麼大檔案,所以無法僅通過...
檔案刪了磁碟空間沒釋放
問題 某天發現某台機器df h已用磁碟空間為90g,而du sh 顯示所有使用空間加起來才30g,囧。原因 可能某人直接用rm刪除某個正在寫的檔案,導致檔案刪了但磁碟空間沒釋放的問題 解決 1 最簡單重啟系統或者重啟相關服務。2 乾掉程序 usr sbin lsof grep deleted ora...
檢測磁碟空間問題
1 確定某路徑下最大的檔案 find ls sort nrk7 head 10 命令解讀 ls在此作為find命令的乙個引數,作用是將查詢到的內容用ls顯示出來 sort nrk7對找到的檔案進行排序等處理,n 依照數值的大小排序 r 以相反的順序來排序 k 選擇以哪個區間進行排序 此處 k7選擇以...