Linux rm刪除文件未釋放空間問題分析


問題描述:

  在自己的虛擬機上做實驗時出現空間不足情況,檢查發現之前的kafka集群測試日志在幾天寫了 25G,於是進入 /data/kafka01/logs 目錄執行 “rm -rf *” 刪除所有測試日志,但發現如下圖空間並未完全釋放。

問題分析:

  1. rm 刪除文件其實是清除了文件名等信息,並沒有釋放存儲空間,如果有進程調用此文件則空間不會釋放。

    解決辦法:使用  “ lsof -n | grep filename ”找出對應進程,並關閉它。

  2. 由於 Linux 內核設計進程在進行文件操作時會對 d_inode 進行加1,所以會出現目錄為空但占用空間。

    解決辦法:刪除目錄或者重啟機器(本文最終將目錄刪除后空間全部釋放)

建議:可以嘗試使用 "echo > filename" 清理空間

 

參考文件:https://www.cnblogs.com/huxiao-tee/p/4657851.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM