歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

找回linux丟失的磁盤空間

最近一台服務器空間總是報警,磁盤空間不足。 使用 df 命令查看,磁盤空間耗用接近 100%,將機器上過期的數據以及日志清理掉,但是空間很快又是接近 100%。 使用 du 查看,想找出磁盤空間被耗用在哪裡了,結果發現他輸出的結果和df命令輸出的

  最近一台服務器空間總是報警,磁盤空間不足。

  使用 df 命令查看,磁盤空間耗用接近 100%,將機器上過期的數據以及日志清理掉,但是空間很快又是接近 100%。

  使用 du 查看,想找出磁盤空間被耗用在哪裡了,結果發現他輸出的結果和df命令輸出的結果相差很大,離100%空間占用還遠著呢。

  丟失的空間跑哪了,是磁盤損壞了嗎?

  使用google搜索了一下,發現兩個可能的原因:

  1. 磁盤文件刪除後,但是原先對應寫文件的進程還在,仍然抓著那個文件,在往裡面寫數據,空間繼續被他耗用,同時刪除後的空間得不到釋放,du 命令也看不到這個文件占用的空間。

  2. 使用mount命令,掛載到一個原本有數據的目錄,之前目錄下的文件不可見也不會被du看到統計

  因為這台服務器沒有做特殊目錄掛載,所以按照問題1查找丟失的空間。

  使用 lsof | grep deleted 查找被刪除的文件,果然發現一個巨大的日志文件

  在外面kill掉寫這個日志文件的進程,發現磁盤空間一點一點被釋放回來了

  重新運行進程,發現日志也被正常寫入。

Copyright © Linux教程網 All Rights Reserved