Sobes.tech
Middle
22

Почему df показывает нет места, а du показывает что место должно быть?

Companies where asked
спектрум

Answer from AI

sobes.tech AI

Команда df показывает свободное место на уровне файловой системы, а du — размер файлов и директорий, видимых в текущем каталоге.

Причины, почему df может показывать, что места нет, а du — что место есть:

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

Пример: если процесс пишет в лог, который потом удалили, место под этот файл не освободится, пока процесс не закроет дескриптор.

Чтобы найти такие файлы, можно использовать lsof:

lsof +L1

Это покажет открытые удалённые файлы, занимающие место.