После удаления большого файла, сколько времени займет `df`, чтобы получить изменения?


12

Я удалил файл журнала размером 2,3 ГБ на своем сервере Ubuntu, и df, похоже, не собирал изменения. Обычно ли задержка, прежде чем dfобнаружится, что большой файл был удален?

Ответы:


20

Похоже, файл все еще открыт каким-то процессом. Вам нужно будет перезапустить эту службу, чтобы освободить место на диске.


1
Особенно вероятно, что это верно для файлов журналов. Многие программы открывают свои журналы при запуске и не закрывают их до выхода.
Mattdm

1
И вы можете узнать, используется ли он еще и кем использует lsof
Joris

Отличный вопрос и отличный ответ. Я задавался вопросом об этом в течение некоторого времени. Кроме того, вы можете получить его, чтобы закрыть дескриптор файла, отправив ему SIGHUP. Например, если у процесса 12345 открыт «удаленный» файл, он sudo kill -HUP 12345может закрыть его. (Конечно, это зависит от того, как этот процесс обрабатывает сигнал SIGHUP. Но многие файлы, ориентированные на демона, закроют и снова откроют дескрипторы файлов, когда они получат сигнал SIGHUP.)
Марк Э. Хаас

Я думал, что мы не можем удалить открытые файлы!
Ашиш Карпе

1
@AshishKarpe Нет, вы можете удалить открытый файл, но процесс, в котором он открыт, сохранит содержимое файла на диске. Теперь этот файл невидим для других процессов, поскольку на него не ссылается ни одно существующее имя файла, но процесс, у которого он открыт, все еще может читать и записывать его. Как только этот процесс закроет файл, содержимое будет удалено, освободив место на диске.
Джонатан Хартли,

2

Если в файловой системе было недостаточно места, вы могли бы использовать зарезервированное пространство в файловой системе. В файловых системах ext2 / 3/4 зарезервировано некоторое место для root. По умолчанию это 5%. Таким образом, если он был заполнен, а 2,3 ГБ занимает менее 5% места на диске, файловая система все равно будет заполнена.

В этой ситуации у вас есть два варианта. Продолжать освобождать пространство до того момента, когда у вас будет доступное свободное пространство или изменять объем пространства, зарезервированный файловой системой. Чтобы изменить количество зарезервированного пространства, используйте tune2fs -m 0 /dev/sda1замену 0 на процент зарезервированного пространства, которое вы хотите иметь, и / dev / sda1 на соответствующее устройство.

Смотрите принятый ответ на этот вопрос для более подробной информации.


0

Недолго. Скорее всего, файл просто все еще используется. Не будет освобождения дискового пространства, пока вы не завершите соответствующий процесс (ы).


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.