Перейти к содержимому
Все статьи
ПоддержкаХостинг и серверы

Df и du показывают разное: куда пропало место на сервере

·27 октября 2026 г.· 6 мин чтения
Нужен тот, кто присмотрит за сайтом?Поддержка сайта

Df и du могут показывать разные значения, потому что измеряют разные объекты: файловую систему и доступное дерево файлов. Если удалили большой лог, а место не освободилось, проверьте, не держит ли его процесс открытым. Но сначала сравните один раздел, одинаковые единицы и близкие моменты времени — иначе разница не объясняет потерю места.

Запишите условия двух измерений

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

Не сравнивайте число для всего сервера с размером одной папки сайта. Укажите также единицы и используемые параметры. Слово «гигабайт» в пересказе не сохраняет точность исходного вывода; лучше оставить исходные результаты рядом с приведёнными значениями. Если данные продолжают активно расти, отметьте время каждой проверки.

У df и du разные границы

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

Для du также различаются занятое пространство и apparent size — видимый размер содержимого. В документации отдельно есть ограничение обхода одной файловой системой. Прежде чем объяснять разницу устройством хранения, убедитесь, что сравнение не смешало разные режимы, области и подключённые разделы.

Матрица проверки расхождения

ГипотезаБезопасное наблюдениеПризнак в пользу версииЧто ещё остаётся неизвестным
Посчитана только часть разделаСопоставить файловую систему и начальный каталогУчёт дерева не охватывает нужную областьЕсть ли дополнительные причины разницы
Обход не прочитал часть дереваСохранить сообщения доступа и контекст проверкиНекоторые пути не вошли в результатИх фактический объём
Сравниваются разные виды размераПроверить параметры и единицыОдин вывод использует apparent sizeСколько места действительно можно освободить
Удалённый файл остаётся открытымПолучить сведения о файле и удерживающем процессеПодтверждён открытый объект без прежнего имениКак безопасно завершить использование
Данные меняются между проверкамиПовторить сопоставление в согласованный моментРазмер продолжает расти или менятьсяКакой именно поток создаёт прирост

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

Файл исчез из каталога, но ещё существует

В описании unlink для Linux сказано: после удаления последнего имени открытый процессами файл сохраняется до закрытия последнего относящегося к нему дескриптора. Поэтому отсутствие имени в каталоге и освобождение пространства могут происходить в разные моменты.

Это объясняет возможный сценарий с журналом: администратор удалил имя файла, а обслуживающий процесс продолжил использовать открытый объект. При обычном просмотре прежнего пути объект уже не находится. При этом сама последовательность «удалил — место осталось занято» лишь подсказывает гипотезу; её требуется подтвердить сведениями об открытых файлах.

В руководстве проекта lsof описано получение информации о файлах, открытых процессами. Администратору нужны сведения о конкретном объекте, процессе и относящейся к нему файловой системе. Поиск по одному слову deleted без проверки контекста не устанавливает, что именно этот объект удерживает весь недостающий объём.

Не умножайте объём на количество строк

Один и тот же файл может наблюдаться в связи с несколькими открытыми дескрипторами. Не следует автоматически складывать одинаковый указанный размер по каждой строке и объявлять сумму доступной для освобождения. Сначала установите, какие записи относятся к одному объекту, а какие действительно к разным.

Рабочая выписка должна связывать объект, раздел и владельца процесса. Если доступный инструмент не позволяет это подтвердить, сохраните ограничение наблюдения. Для поддержки сервера полезнее неполная, но честная диагностика, чем оценка «нашли лишнее место» с повторным счётом одного файла.

Освобождайте ресурс по правилам приложения

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

Например, документация Nginx о ротации описывает переоткрытие журналов как отдельную операцию. Это правило конкретного сервера, а не универсальный сигнал для любого процесса. Согласованное действие должно выполнять лицо, которое знает назначение службы и способ проверить её работу после изменения.

Контрольный проход администратора

  1. Сохраните исходное состояние df и du с путями, единицами, временем и ошибками.
  2. Уберите несоответствие областей измерения и режимов размера.
  3. Если гипотеза открытого удалённого файла сохраняется, подтвердите объект и удерживающий процесс.
  4. Выберите штатное действие для этого приложения и заранее определите проверку его работоспособности.
  5. Повторно измерьте ту же файловую систему и проверьте, прекратился ли нежелательный рост.

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

Что передать владельцу сайта

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

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

Вопросы и ответы

Почему df и du показывают разное?

Df описывает пространство файловой системы, а du считает выбранное дерево с учётом своих параметров и доступа. Сначала сравните раздел, область, единицы и момент измерения. Затем проверяйте отдельные причины, включая открытые удалённые файлы.

Как lsof помогает найти место от удалённых файлов?

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

Можно ли просто закрыть процесс с удалённым файлом?

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

Нужна помощь с проектом?

Обсудим задачу и предложим решение — от сайта до SaaS и защиты.

Связаться