Sobes.tech
Middle

Waarom geeft df aan dat er geen ruimte is, terwijl du aangeeft dat er ruimte zou moeten zijn?

sobes.tech AI

Antwoord van AI

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

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

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

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

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

lsof +L1

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