Linux磁盤空間滿了,找不到磁盤空間佔用文件

一、現象:

Linux主機:用df -hT 查看磁盤佔用已經滿了,但是用du -sh * 又找不到是哪些文件目錄佔滿了磁盤。

二、解決,lsof

lsof |grep delete

用lsof檢查後才發現原因是,有文件被刪除,而進程還活着,因而造成還佔用空間的現象。

根據lsof列出的進程號,kill這些進程或重啓進程後,空間就釋放出來了。重要服務進程pid,注意確認,別發重要服務kill了。

三、總結

  1. 日誌文件等,不要多個進程公用同一個文件,這樣有的進程下線清理文件,由於其他進程佔用,空間不會釋放。
  2. 清理一些文件,不要直接 rm -rf,如果進程讀取的文件,文件刪了由於進程佔用,空間不會釋放。可以echo > filename 清空文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章