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

против

du -sh /export 
3.4G    /export

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

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

3 ответа3

9

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

lsof -a +L1 /export

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

  • df проверяет наличие блоков (суперблоков)
  • du суммирует пространство каждого файла.
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. Есть некоторые флаги относительно пересечения границ файловой системы, которые могли бы изменить счет. Обработка символических ссылок также может повлиять на результаты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .