Из-за временных ограничений на территории РФ наблюдаются проблемы с оплатой. Если платёж не проходит, оставьте запрос в службу поддержки.Служба поддержки работает 24/7 — мы всегда на связи по вопросам хостинга и серверов.Открыт прием заявок на аренду выделенных серверов и размещение оборудования в дата-центре.Напоминаем: рекомендуем включить резервное копирование для дополнительной защиты данных.Доступна новая линейка VPS/VDS с NVMe-дисками и увеличенной производительностью.Технические работы на части серверов завершены. Все сервисы работают в штатном режиме.
Статья3 мин чтенияПросмотры0

Почему df и du показывают разный объём занятого места

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

Два накопителя в серверных салазках на рабочем столе
В этой статье

Свободное место закончилось, хотя каталог сайта выглядит небольшим. В такой ситуации сначала нужно понять, что именно измеряется. df показывает состояние файловой системы, а du обходит доступные файлы и каталоги. Эти результаты связаны, но не обязаны совпадать до байта.

Сначала найдите нужный раздел

Пример рассчитан на Linux с GNU Coreutils. Здесь /var — пример существующего каталога. Если проблема относится к другому пути, подставьте его. Команды ниже только читают сведения, однако обход большой директории создаёт дисковую нагрузку.

df -hT /var

Посмотрите тип файловой системы, объём, доступное место и точку монтирования. Каталог загрузок сайта может находиться на отдельном томе: свободное место в корне тогда не объясняет ошибку записи в загрузки. Параметр -h выводит удобные для чтения единицы, поэтому округлённые значения не подходят для точного баланса.

Спускайтесь по дереву постепенно

Начните с одного уровня, чтобы увидеть крупные ветви, а не получить тысячи строк:

du -xhd1 /var

Параметр -x не даёт переходить на другие файловые системы, а -d1 ограничивает глубину вывода. При этом программа всё равно обходит содержимое выбранных каталогов. Не запускайте несколько таких обходов одновременно на перегруженном сервере.

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

Почему цифры расходятся

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

Пример: панель показывает почти полный том, а доступные каталоги занимают заметно меньше. Это повод проверить открытые удалённые файлы и особенности тома. Такой результат сам по себе не доказывает утечку места или неисправность диска. Если же один каталог быстро растёт между двумя измерениями, полезнее найти создающий его процесс и назначение файлов.

Что передать администратору

Зафиксируйте проверенный путь, точку монтирования, время замера и самый крупный каталог. Добавьте сообщения об отказе в доступе. Не прикладывайте содержимое клиентских файлов: для первого этапа достаточно размеров и обезличенных путей.

После согласованной очистки повторите обе команды для тех же путей. Если du уменьшился, а df почти не изменился, не продолжайте удалять соседние каталоги. Проверьте, не удерживает ли процесс старые данные, и дождитесь завершения предусмотренной приложением процедуры освобождения места. Хороший результат диагностики — объяснимая причина заполнения и конкретный владелец данных, а не просто временно зелёный индикатор.

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

Обсуждение0

Делись опытом и задавай вопросы. Комментарии без ссылок появляются после проверки редактором.

Пока никто не написал. Начни обсуждение.