Różnica między df -k i du -sh

8
df -k
/dev/sda6             25396228  21249088   2836240  89% /export
21G used

przeciw

du -sh /export 
3.4G    /export

3.4G jest poprawny, ponieważ usunęliśmy wszystkie nieistotne pliki, ale wolne miejsce zgłoszone przez df nie jest zgodne z faktycznym wolnym miejscem, które powinno tam być.

Dlaczego tak jest?

Bernard Mwagiru
źródło

Odpowiedzi:

9

Pliki, które usunąłeś, są prawdopodobnie nadal otwierane przez proces. Czek:

lsof -a +L1 /export

Myślę, że dzieje się tak, ponieważ:

  • df sprawdza dostępne bloki (superbloki)
  • du sumuje miejsce w każdym pliku.
Lollekk
źródło
Gareth, wielkie dzięki za to ... Czy jest jakiś sposób, aby to wyczyścić online, czy będzie to wymagało ponownego uruchomienia?
Bernard Mwagiru,
W każdym razie udało się zabić procesy i zwolnić miejsce na dysku ... wielkie dzięki!
Bernard Mwagiru,
3

Co najmniej jedna aplikacja ma otwarte pliki /export, ale same nazwy plików już nie istnieją (tzn. Zostały usunięte).

Ignacio Vazquez-Abrams
źródło
2

Mierzą dwie podobne, ale nieco różne rzeczy. df mierzy pojemność systemu plików, a du mierzy drzewo katalogów. Na przykład, jeśli masz następujące elementy:

 /dev/sda6 mounted on /exports
 /dev/sda7 mounted on /exports/extra

df z / export only mierzy / dev / sda6, podczas gdy du z / export mierzy / dev / sda6 i / dev / sda7. Istnieje kilka flag dotyczących przekraczania granic systemu plików, które zmieniałyby liczby. Obsługa dowiązań symbolicznych może również wpływać na wyniki.

Xenoactive
źródło