Ich bin auf einer großen Instanz auf den EC2-Servern von Amazon. Ich führe den Befehl df aus und erhalte:
root@db:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 9.1G 284M 98% /
tmpfs 3.8G 0 3.8G 0% /lib/init/rw
varrun 3.8G 116K 3.8G 1% /var/run
varlock 3.8G 0 3.8G 0% /var/lock
udev 3.8G 80K 3.8G 1% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
/dev/sdb 414G 957M 392G 1% /mnt
/dev/sdf 50G 12G 35G 26% /byp
/dev/sdk 99G 31G 63G 33% /backups
Ich führe dann den Befehl du aus und erhalte:
root@db:/# du -s -h /*
31G /backups
5.5M /bin
136K /boot
12G /byp
80K /dev
5.8M /etc
12K /home
70M /lib
11M /lib32
0 /lib64
16K /lost+found
759M /mnt
4.0K /opt
du: cannot access `/proc/6917/task/6917/fd/4': No such file or directory
du: cannot access `/proc/6917/fd/4': No such file or directory
0 /proc
31M /root
7.7M /sbin
4.0K /selinux
4.0K /srv
0 /sys
11M /tmp
1.1G /usr
114M /var
Wenn Sie feststellen, dass Sie beim Addieren aller Größen in der Ausgabe des Befehls du von nicht gemounteten Verzeichnissen nicht annähernd 9,1 G erreichen, wie im Befehl df dargestellt.
Bedeutet das, dass ich eine fehlerhafte Festplatte habe? Wenn ja, wie kann ich das beheben?
quelle
lsof +L1
kann manchmal besser funktionieren als das grep ...Es gibt eine Reihe von Gründen, warum du nicht gleich df ist. Siehe die Antworten auf diese Frage .
Einige sind Overlay-Mounts, viele kleine Dateien und eine größere Blockgröße sowie gelöschte Dateien, die noch verwendet werden. Überlagerungs-Mounts werden erstellt, wenn Sie ein Dateisystem auf einem Mount-Punkt gemountet haben, auf dem sich Dateien befinden, sodass Sie sie nicht sehen.
Der Hauptunterschied zwischen den beiden besteht darin, dass df nur den Superblock überprüft und ihm vertraut, wobei du alle Dateien scannt, die es sehen kann, und sie addiert. Informationen zum Superblock finden Sie unter diesem IBM Link .
quelle
Verwenden Sie immer die Option -x mit du, wenn Sie solchen Problemen nachjagen. Es hält dich davon ab, Dateisysteme zu überqueren.
quelle