df 對 du。我的磁碟真的滿了嗎?
奇怪的問題…
為什麼我使用了完整/分區,但並沒有真正使用?
快速資訊:
xwing ~ # df -h Filesystem Size Used Avail Use% Mounted on rootfs 16G 15G 75M 100% / /dev/root 16G 15G 75M 100% / devtmpfs 5,9G 0 5,9G 0% /dev tmpfs 5,9G 552K 5,9G 1% /run rc-svcdir 1,0M 72K 952K 8% /lib64/rc/init.d cgroup_root 10M 0 10M 0% /sys/fs/cgroup shm 5,9G 0 5,9G 0% /dev/shm cachedir 4,0M 4,0K 4,0M 1% /lib64/splash/cache /dev/sda1 124M 43M 76M 36% /boot /dev/sda5 63G 25G 36G 42% /home /dev/sda6 483G 147G 312G 33% /mnt/data tmpfs 8,0G 0 8,0G 0% /var/tmp/portage
也許 i 節點?諾…
xwing ~ # df -i Filesystem Inodes IUsed IFree IUse% Mounted on rootfs 1048576 548459 500117 53% / /dev/root 1048576 548459 500117 53% / devtmpfs 1525561 517 1525044 1% /dev tmpfs 1525918 374 1525544 1% /run rc-svcdir 1525918 61 1525857 1% /lib64/rc/init.d cgroup_root 1525918 5 1525913 1% /sys/fs/cgroup shm 1525918 1 1525917 1% /dev/shm cachedir 1525918 2 1525916 1% /lib64/splash/cache /dev/sda1 32768 314 32454 1% /boot /dev/sda5 4194304 145765 4048539 4% /home /dev/sda6 32153600 11325 32142275 1% /mnt/data tmpfs 1525918 1 1525917 1% /var/tmp/portage
但:
xwing ~ # du -sxh / 8,3G /
也許我在山上有什麼東西壞了?(但無論如何,請注意我將 du 與 -x 一起使用,它僅從 / 文件系統計算文件……)
/我添加的空間以獲得更好的可讀性/
xwing ~ # mount rootfs on / type rootfs (rw) /dev/root on / type ext4 (rw,noatime,data=ordered) devtmpfs on /dev type devtmpfs (rw,relatime,size=6102244k,nr_inodes=1525561,mode=755) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755) rc-svcdir on /lib64/rc/init.d type tmpfs (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime) cgroup_root on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755) cpuset on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset) cpu on /sys/fs/cgroup/cpu type cgroup (rw,nosuid,nodev,noexec,relatime,cpu) cpuacct on /sys/fs/cgroup/cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct) freezer on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620) shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime) cachedir on /lib64/splash/cache type tmpfs (rw,nosuid,nodev,noexec,noatime,size=4096k,mode=755) /dev/sda1 on /boot type ext2 (rw,noatime) /dev/sda5 on /home type ext4 (rw,noatime) /dev/sda6 on /mnt/data type ext4 (rw,noatime) tmpfs on /var/tmp/portage type tmpfs (rw,size=8G) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
核心:
morsik@xwing ~ $ uname -a Linux xwing 3.6.2-gentooxwing #8 SMP Sun Oct 21 21:36:53 CEST 2012 x86_64 Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz GenuineIntel GNU/Linux
真的……我對此沒有任何想法。
我嘗試了什麼:
- 檢查 rm -rf /usr/portage/distfiles/* 之後是否還有一些 fd 仍然打開
- 同步
- 重啟
- fsck
編輯和解決方案:
與往常一樣,我在尋求幫助後找到了解決方案(-;
在其他地方掛載(如 Luke404 所說)/分區並執行 du -sh /mnt/something 告訴有 15G 的數據,所以就像在 df.
出了什麼問題?
山!
我後來創建了 /home 分區,添加到 /etc/fstab,我將文件從 /home(在 / 分區上)複製到 /home(在 /home 分區上),但我忘記從 /home 的 / 分區中刪除文件。
所以我的舊文件仍然在 /home 上(在 / 分區上)。
但是為什麼 du -sxh 告訴我 8G?簡單的…
-x 強制不檢查不同的掛載點,所以……它在掛載時沒有檢查 /home。還有我失踪的/home。
感謝在 IRC 上幫助我的 Luke404 和 pidpawel。
寫完這個 EDIT 部分後,我在這裡看到了答案,而 Scrivener 在這裡找到了答案!
愚蠢的問題是愚蠢的(-;
這種問題總是很有趣。
我猜?您在一個掛載點下有文件。這意味著什麼?好吧, du -sh 將手動瀏覽它可以找到的所有文件。
假設我有一個目錄 A。如果我將一堆文件轉儲到 A 中,然後將 /dev/sdb 掛載在 A 之上,df -h 會說我有一堆文件 du 不會能找到!
這種情況最常發生在定期掛載和解除安裝的掛載點上,例如 USB 驅動器、網路驅動器等。當掛載在引導期間自動發生時,這種情況很少見,因為它發生的視窗要小得多。