在工作中, 當我們發現磁盤馬上就要滿了的時候, 我們想要删除一些大檔案, 但是這些大檔案正在被使用的話, 如果直接删除這個檔案的時候,可能這一塊空間是沒有辦法馬上釋放的。
下面是模拟磁盤不能被合理的釋放的情況。
1> 實驗之前檢視/testdir挂載分區的使用情況。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL0cjM4EDM2IDOz81ctQzXw12dtMzXtdXLwgHMwUzXodXLn5GcuMjM4ATeN50ZtgWOQFUQDBzXhlmamdmWlFDTvl2S39CXFZ0LcRDOvwFMw00LcJDMzZWe39CXt92Yu8GdjFTNuUzcvw1LcpDc0RHaiojIsJye.png)
2>. 使用dd指令向/testdir檔案夾建立一個大檔案
3>. 檢視testdir的挂載分區的使用情況
4>. 打開/testdir/testfile檔案, 模拟正在使用
5> 直接去删除/testdir/testfile檔案, 删除檢視/testdir的挂載資訊
從實驗結果可以看出, 磁盤空間并沒有被釋放, 但是這在生産壞境下, 如果遇到這種情況, 機器又不允許重新開機的話, 隻能眼睜睜看着磁盤被占滿, 一旦磁盤被占滿的話, 系統就會崩潰, 并且服務也不能運作, 這顯然在生産壞境下, 是不允許的。
下面是正确釋放磁盤空間的方法, 其實方法很簡單, 隻需要rm -rf 檔案名 的前面,
使用指令 > 檔案名, 将裡面的檔案清空就OK了。
1>. 檢視/testdir挂載點的使用情況.
5. 删除檔案之前将檔案清空, 然後删除。
結果磁盤空間馬上就被釋放了。
// 上面的這種磁盤沒有被釋放是基于删除檔案正在被使用的情況下, 而現實生産壞境下, 磁盤下的檔案很有可能正在會被使用。是以在釋放空間的時候要記得先清空檔案。