Po usunięciu dużego pliku, ile czasu zajmuje `df`, aby odebrać zmianę?


12

Usunąłem plik dziennika 2,3 GB na moim serwerze Ubuntu i dfwydaje się, że nie odbiera zmiany. Czy zwykle występuje opóźnienie, zanim dfmożna wykryć usunięcie dużego pliku?

Odpowiedzi:


20

Wygląda na to, że plik jest nadal otwarty przez jakiś proces. Aby zwolnić miejsce na dysku, musisz ponownie uruchomić tę usługę.


1
Jest to szczególnie prawdopodobne w przypadku plików dziennika. Wiele programów otwiera plik dziennika podczas uruchamiania i nie zamyka ich do momentu wyjścia.
mattdm

1
I możesz dowiedzieć się, czy nadal jest używany i przez kogo używa lsof
Joris

Świetne pytanie i świetna odpowiedź. Zastanawiam się nad tym od jakiegoś czasu. Możesz też być w stanie sprawić, by zamknął uchwyt pliku, wysyłając SIGHUP. Na przykład, jeśli proces 12345 ma „usunięty” plik otwarty, sudo kill -HUP 12345może to spowodować zamknięcie tego procesu. (Zależy to oczywiście od tego, jak ten proces obsługuje sygnał SIGHUP. Ale wiele plików zorientowanych na demony zamknie się i ponownie otworzy uchwyty plików, gdy otrzymają SIGHUP.)
Mark E. Haase

Myślałem, że nie możemy usunąć otwartych plików!
Ashish Karpe,

1
@AshishKarpe Nie, możesz usunąć otwarty plik, ale proces z nim otwarty zachowa zawartość pliku na dysku. Plik jest teraz niewidoczny dla innych procesów, ponieważ nie ma odniesienia do żadnej istniejącej nazwy pliku, ale proces, który go otworzył, nadal może go czytać i zapisywać. Gdy proces ten zamknie plik, zawartość zostanie usunięta, odzyskując miejsce na dysku.
Jonathan Hartley

2

Jeśli w systemie plików brakuje miejsca, możesz być uruchomiony w zarezerwowanym miejscu w systemie plików. W systemach plików ext2 / 3/4 zarezerwowano trochę miejsca dla roota. Domyślnie jest to 5%. Więc jeśli był pełny, a 2,3 GB zajmuje mniej niż 5% miejsca na dysku, system plików nadal będzie wyglądał na zapełniony.

W tej sytuacji masz dwie możliwości. Aby nadal zwalniać miejsce do tego stopnia, że ​​masz wolne miejsce do wykorzystania lub zmień ilość miejsca zarezerwowanego przez system plików. Aby zmodyfikować ilość zarezerwowanego miejsca, użyj tune2fs -m 0 /dev/sda1zamiany 0 na procent zarezerwowanego miejsca, które chcesz mieć i / dev / sda1 odpowiednim urządzeniem.

Aby uzyskać więcej informacji, zobacz zaakceptowaną odpowiedź na to pytanie .


0

Nie długo. Istnieje duże prawdopodobieństwo, że plik jest nadal używany. Zwolnienie miejsca na dysku nie nastąpi, dopóki nie zakończysz odpowiednich procesów.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.