Диск заполнен, но du показывает файлов намного меньше, чем df. В чём причина и как диагностировать?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

В вашем случае:

  • df показывает 100% занятости — значит, все блоки заняты.
  • du показывает всего 95KB — значит, видимых файлов почти нет.

Причина может быть в том, что есть удалённые, но открытые файлы, которые продолжают занимать место.

Как найти причину:

  1. Используйте команду lsof +L1 /opt — она покажет открытые файлы с количеством ссылок меньше 1 (удалённые, но открытые).
  2. Если такие файлы найдены, нужно определить процесс, который их держит, и перезапустить или завершить его, чтобы освободить место.
  3. Также проверьте наличие скрытых файлов или точек монтирования внутри /opt, которые могут влиять на подсчёт.

Таким образом, основная причина — удалённые, но открытые файлы, которые занимают место на диске, но не видны через du.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее