Назад | Перейти на главную страницу

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

и du -sh шоу

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 ГБ.

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

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

lsof | grep deleted

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

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

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