我有一個 30GB 磁碟空間的 Ubuntu 盒子幾乎已滿:
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 30G 28G 0 100% /
但是當我檢查所有根資料夾的大小時
sudo du -sh /foldername
我總共只拿到 17.2GB
lib/ 6.7G
usr/ 4.8G
home/ 2.0G
var/ 1.3G
boot/ 1.1G
swapfile 1.1G
root/ 125M
sbin/ 12M
bin/ 11M
etc/ 8M
run/ 420K
lost+found/ 16K
media/ 8.8K
dev/ 4K
lib64/ 4K
mnt/ 4K
srv/ 4K
opt/ 4K
tmp/ 4K
sys/ 0
proc/ 0
這裡有東西看起來可疑嗎?約 11 GB 下落不明。丟失的11G會在哪裡呢?
答案1
根據伺服器故障社群的建議,我檢查了我的區塊大小:
stat --printf='%s' -f .
4096 是“正常”
然後我檢查了有多少已刪除的檔案仍被進程保持開啟狀態:
lsof | grep -c DEL
它報告了 143 個文件,這可能是所有丟失空間的原因,但我認為這不太可能
然後我重新啟動了我的盒子,瞧!我所有的磁碟空間都回來了:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 487M 4.0K 487M 1% /dev
tmpfs 100M 388K 100M 1% /run
/dev/vda1 30G 17G 12G 61% /
反射
事實上,我在重新啟動後重新獲得瞭如此多的磁碟空間,這意味著磁碟區的區塊大小並不是罪魁禍首。所以,仍然不能 100% 確定差異的原因,但很高興能重新獲得我的空間!
答案2
我認為你可能有一些大型的隱藏文件,只有當你使用該標誌時才會顯示-a
:
du -ha /foldername | sort -hr
上面的命令將輸出所有檔案(包括隱藏檔案)的大小,並且排序將按大小對它們進行排序,以便您可以識別它們。