處理Linux系統下已刪除檔案繼續占用空間問題

2021-09-20 17:36:01 字數 714 閱讀 1061

在linux中,當我們使用rm在linux上刪除了大檔案,但是如果有程序開啟了這個大檔案,卻沒有關閉這個檔案的控制代碼,那麼linux核心還是不會釋放這個檔案的磁碟空間,最後造成磁碟空間占用100%,整個系統無法正常執行。這種情況下,通過df和du命令查詢的磁碟空間,兩者是無法匹配的,可能df顯示磁碟100%,而du查詢目錄的磁碟容量占用卻很小。

遇到這種情況,基本可以斷定是某些大檔案被某些程式占用了,並且這些大檔案已經被刪除了,但是對應的檔案控制代碼沒有被某些程式關閉,造成核心無法收回這些檔案占用的空間。

那麼,如何查詢那些檔案被某些程式占用呢:

lsof -n | grep deleted

command     pid      user   fd      type             device        size       node name

dd        31708      higkoo    1w      reg                8,2 5523705856     429590 /data/filetest (deleted)

命令:lsof -n | grep deleted列印出所有針對已刪除檔案的讀寫操作,這類操作是無效的,也正是磁碟空間莫名消失的根本原因。

解決辦法:kill -9 pid   —-只需把程序刪掉就能釋放空間。

lsof -n |grep deleted |awk -f』 『 『』 > freedisk.sh

處理Linux系統下已刪除檔案繼續占用空間問題

在 linux 中,當我們使用rm在 linux 上刪除了大檔案,但是如果有程序開啟了這個大檔案,卻沒有關閉這個檔案的控制代碼,那麼 linux 核心還是不會釋放這個檔案的磁碟空間,最後造成磁碟空間占用 100 整個系統無法正常執行。這種情況下,通過df和 du命令查詢的磁碟空間,在linux 中,...

LINUX 系統下刪除已安裝程式命令

一 二進位制分發軟體包的安裝與解除安裝 linux軟體的二進位制分發是指事先已經編譯好二進位制形式的軟體包的發布形式,其優點是安裝使用容易,缺點則是缺乏靈活性,如果該軟體包是為特定的硬體 作業系統平台編譯的,那它就不能在另外的平台或環境下正確執行。1 rpm形式的二進位制軟體包 安裝 rpm ivh...

linux系統下增加 刪除swap檔案

方式1 如果返回為空,表示swap檔案不存在,在嵌入式系統上該命令可能不支援 swapon s filename type size used priority swapfile file 2097148 1307180 2方式2 cat proc swaps filename type size ...