Разница между df -k и du -sh

8
df -k
/dev/sda6             25396228  21249088   2836240  89% /export
21G used

против

du -sh /export 
3.4G    /export

3.4G правильно, потому что мы удалили все несущественные файлы, но свободное место, о котором сообщает df, не соответствует фактическому свободному пространству, которое должно быть там.

Почему это так?

Бернард Мвагиру
источник

Ответы:

9

Удаленные файлы, вероятно, все еще открыты процессом. Проверьте:

lsof -a +L1 /export

Я думаю это потому что:

  • df проверяет доступные блоки (суперблоки)
  • du суммирует пространство каждого файла.
Lollekk
источник
Гарет, большое спасибо за это ... Есть ли способ, которым я могу очистить это онлайн или это потребует перезагрузки?
Бернард Мвагиру
В любом случае, удалось убить процессы и освободить место на диске ... большое спасибо!
Бернард Мвагиру
3

Одно или несколько приложений имеют открытые файлы /export, но сами имена файлов больше не существуют (т.е. были удалены).

Игнасио Васкес-Абрамс
источник
2

Они измеряют две похожие, но немного разные вещи. df измеряет емкость файловой системы, а du измеряет дерево каталогов. Например, если у вас было следующее:

 /dev/sda6 mounted on /exports
 /dev/sda7 mounted on /exports/extra

df of / export измеряет только / dev / sda6, тогда как du of / exports будет измерять / dev / sda6 и / dev / sda7. Существуют некоторые флаги относительно пересечения границ файловой системы, которые могут изменить счет. Обработка символических ссылок также может повлиять на результаты.

Xenoactive
источник