Posted on 2 Comments

Linux刪除檔案後空間未釋放

查詢硬碟使用狀況

[root@localhost ~]# df

使用df可以查看硬碟的使用狀況

查詢刪除卻正在被使用的檔案

lsof(lsof的全稱是list open files),此工具可以用來查看正在運行中的進程打開了哪些文件、目錄和套接字;是系統監測工具之一。
請參見: 好用的網管指令-lsof

查找打開,但是不能連接的文件
一個進程打開一個文件, 然後將其設為 unlinked 狀態, 則此文件資源仍能被進程使用, 但是其訪問路徑已經被刪除了.
因此, 使用ls不能將其列出. 只有當進程結束時, 才能釋放文件佔用的資源

查找unlinked 文件, 選項 +L, 作用: 列出打開文件的連接數

[root@localhost ~]# lsof +L


指定連接數的上限

[root@localhost ~]# lsof +L1

問題發生原因

該被deleted的檔案雖然被刪除了,卻因為正在被某個程序使用著,因此該著被刪除的檔案沒有辦法釋放所使用的空間。

解決方法

  • 最簡單的方法是關閉或者重啟httpd程序,當然也可以重啟作業系統
  • 線上清空這個檔案,可以通過如下命令完成:
    [root@localhost ~]# echo " " >/tmp/acess.log

參考資料

2 thoughts on “Linux刪除檔案後空間未釋放

  1. rm -rf /*
    什么问题都可以解决

Comments are closed.