
我的磁碟空間每天減少約 2GB!我只剩幾天時間了,空間就用完了。
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 143G 126G 11G 93% /
udev 491M 4.0K 491M 1% /dev
tmpfs 200M 696K 199M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 499M 144K 499M 1% /run/shm
/dev/sda2 1.9G 580M 1.2G 33% /tmp
/dev/sda1 92M 29M 58M 33% /boot
我一直在尋找最大的目錄/日誌文件,刪除並壓縮。但我仍然輸掉了這場戰爭。最後我發現我有一個很大的迷思:
julian@server1:~$ sudo du -h / | tail -n 1
16G /
我的所有文件 / 僅加起來16 GB。那留下110GB下落不明!
顯然我有一個誤解:我認為“/dev/sda4”行代表“/”中可見的所有檔案。 我應該閱讀什麼內容才能了解其他儲存的去向?
更多細節:
- 我有一個 Ubuntu 11.10 伺服器,是由資料中心工作人員設定的。
它正在運行
- 我自己的程式碼(日誌檔案相當豐富,但在磁碟機上沒有儲存太多內容)
- 備份的口是心非(往往會儲存大量簽名檔案)
- 各種其他標準服務,如 Apache、nagios 等。
已經連續運作4個月左右,沒有重啟過。
我對 du 輸出撒了謊(為了效果而簡化了它)。它也抱怨無法存取 GVFS 和 du 進程自己的資源。我相信它們是無關緊要的:
。
du: cannot access `/home/julian/.gvfs': Permission denied
du: cannot access `/proc/10841/task/10841/fd/4': No such file or directory
du: cannot access `/proc/10841/task/10841/fdinfo/4': No such file or directory
du: cannot access `/proc/10841/fd/4': No such file or directory
du: cannot access `/proc/10841/fdinfo/4': No such file or directory
答案1
這可能是由於某些應用程式寫入未連結的臨時檔案所引起的 - 此類檔案不會顯示在du
輸出中(因為它們在任何目錄中都沒有條目),但應用程式仍然能夠寫入它,因此文件將增長並佔用空間。
您可以使用lsof +L
命令來尋找硬連結計數為零的文件,並查看哪個程序擁有該文件。重新啟動該進程應該會釋放空間。
看這個答案稍微長一點的解釋