Sobes.tech
Middle

¿Por qué df muestra que no hay espacio, pero du muestra que debería haber espacio?

sobes.tech AI

Respuesta de la IA

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

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

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

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

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

lsof +L1

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