Sobes.tech
Middle

De ce df arată că nu există spațiu, în timp ce du arată că ar trebui să fie spațiu?

sobes.tech AI

Răspuns de la AI

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

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

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

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

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

lsof +L1

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