Linux разный размер для df и du для корневого раздела

На моем сервере CentOS обе команды показывают разное использование для disk /, df показывает этот вывод:

Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda2             16G   14G  952M  94% /
/dev/xvda6            996M  258M  687M  28% /tmp
/dev/xvda3             16G  6.5G  8.3G  45% /var
/dev/xvda1            251M   25M  213M  11% /boot
tmpfs                 4.0G     0  4.0G   0% /dev/shm

и ду-шоу показывает

6.9M    /bin/
15M /boot/
123M    /etc
212K    /home/
233M    /lib
27M /lib64/
16K /lost+found/
8.0K    /media/
8.0K    /mnt/
399M    /opt/
959M    /root/
35M /sbin/
8.0K    /srv/
0   /sys/
2.5G    /usr/
4.2G    total

Также попробовал с инструментом NCDU, который сообщает об использовании только 5.6 ГБ.

Как найти спрятанное место на диске?

3 ответа

Посмотрите, есть ли у вас удаленные файлы, которые все еще используются

lsof | grep deleted

Существует длинное объяснение, которое можно найти в любом количестве блогов онлайн с помощью быстрого поиска, но основная суть заключается в следующем:

Если я создаю 1 ГБ разреженный файл, du покажет 1 гб, но df покажет нулевое использование. Если у меня есть файл размером 1 ГБ, открытый в какой-то программе и удаляю его, df будет по-прежнему показывать 1 ГБ использования, пока все ссылки на индекс не будут закрыты, но du никогда не найдет файл для его отображения.

Df - это использование файловой системы, которое включает в себя файлы и другие структуры, которые поддерживают файлы, такие как журнал и т. д. du показывает только сумму размера файла, которая в основном будет меньше. разница будет зависеть от того, как долго использовалась файловая система, какова сама файловая система и т. д.

Другие вопросы по тегам