Próbuję zwolnić trochę miejsca na dysku - jeśli to zrobię df -h
, mam system plików o nazwie / dev / mapper / vg00-var, który mówi, że jest to 4G, 3,8G, pozostało 205M.
To odpowiada mojemu katalogowi / var.
Jeśli du -kscxh *
zejdę do / var i zrobię , suma to 2.1G
2.1G + 200M za darmo = 2.3G ... Więc moje pytanie brzmi, gdzie jest pozostałe 1,7G?
du -shx /var
mówiOdpowiedzi:
Prawdopodobnie masz jakiś usunięty duży plik dziennika, plik bazy danych lub coś podobnego leżącego wokół, czekającego na proces wstrzymujący jego zwolnienie.
W systemie Linux usunięcie pliku po prostu rozłącza plik. W rzeczywistości jest usuwany, gdy do tego pliku nie są już podłączone żadne uchwyty plików. Tak więc, jeśli masz plik dziennika 2 GB, który usuwasz ręcznie za pomocą rm, miejsce na dysku nie zostanie zwolnione, dopóki nie zrestartujesz demona syslog (lub wyślesz
HUP
do niego sygnał).Próbować
i sprawdź, czy nadal masz jakieś usunięte pliki zombie.
źródło
lsof
polecenie pokazało, że mamy wiele plików tomcat oczekujących na usunięcie. Ponowne uruchomienie tomcat i nagle mamy mnóstwo miejsca z powrotem!