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?

dan
źródło

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ę.

toppledwagon
źródło
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 .

3dinfluence
źródło
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.

poige
źródło
0

Sprawdź także katalog .trash.

JakeRobinson
źródło
gdzie jest ten katalog .trash?
Ashish Karpe,
Na Ubuntu 14.04 widzę, że mam ~/.local/share/Trashśmieci pełne, które usunąłem w Nautilusie.
Jonathan Hartley