Disk-Usage
如何找出在“/”上浪費空間的內容?
我可以找出什麼是浪費空間:
du -sm * | sort +0nr | head -30
但是如果“/”被 100% 填充,並且有很多掛載點,例如:/foo、/foo2 等,我怎樣才能在例如:“/”中獲得不是掛載點的目錄大小列表?(遞歸不是掛載點?)
更新:這不起作用:
cd /; du -sxm * 2>/dev/null | sort +0nr | head -30
因為它列出了安裝在 ex.: “/FOO” 中的目錄(在 AIX6.1 和 SLES 9.4 下嘗試過)
更新:
du -xm / | sort +0nr | head -30
這在 AIX 上工作,現在呢?:D
man du
本身提到:-x, --one-file-system skip directories on different file systems
所以有些東西
du -xm * | sort +0nr | head -30
至少如果你
du
從 GNU coreutils 使用(我的是 8.20 版),會成功的。不確定這是否適用於 AIX(在我發布答案後才注意到標籤,抱歉)。
如果某些東西在浪費空間而您找不到它,則它可能隱藏在其他掛載點之下。例如,您有一個
/mnt/backup/
並在未掛載時進行了備份,備份文件將結束於/
,但只要/mnt/backup/
稍後掛載,就不再可見。
--one-file-system
開關也無濟於事。你必須做一個乾淨通暢的坐騎。mkdir /mnt/something mount /dev/yourroot /mnt/something
然後使用、或任何您喜歡的工具檢查
/mnt/something/
文件。du``xdiskusage
如果這仍然沒有產生任何結果,請檢查根保留的瘋狂值(用於 ext*,
tune2fs
),或檢查一般文件系統(fsck
),因為某些文件系統缺陷可能會導致已用/可用空間計算錯誤。