問題描述:
在自己的虛擬機上做實驗時出現空間不足情況,檢查發現之前的kafka集群測試日志在幾天寫了 25G,於是進入 /data/kafka01/logs 目錄執行 “rm -rf *” 刪除所有測試日志,但發現如下圖空間並未完全釋放。
問題分析:
1. rm 刪除文件其實是清除了文件名等信息,並沒有釋放存儲空間,如果有進程調用此文件則空間不會釋放。
解決辦法:使用 “ lsof -n | grep filename ”找出對應進程,並關閉它。
2. 由於 Linux 內核設計進程在進行文件操作時會對 d_inode 進行加1,所以會出現目錄為空但占用空間。
解決辦法:刪除目錄或者重啟機器(本文最終將目錄刪除后空間全部釋放)
建議:可以嘗試使用 "echo > filename" 清理空間