Soluzione 1:
Mi sono appena imbattuto in questa pagina durante il tentativo di rintracciare un problema su un server locale.
Nel mio caso il df -h
e du -sh
non corrispondente di circa il 50% della dimensione del disco rigido.
Ciò è stato causato da apache (httpd) che conservava in memoria file di registro di grandi dimensioni che erano stati eliminati dal disco.
Questo è stato rintracciato eseguendo lsof | grep "/var" | grep deleted
dove /var
era la partizione che dovevo ripulire.
L'output mostrava righe come questa:
httpd 32617 nobody 106w REG 9,4 1835222944 688166 /var/log/apache/awstats_log (deleted)
La situazione è stata poi risolta riavviando apache (service httpd restart
) e liberato 2 GB di spazio su disco, consentendo di rimuovere i blocchi sui file eliminati.
Soluzione 2:
Controlla i file che si trovano sotto i punti di montaggio. Spesso se monti una directory (diciamo un sambafs) su un filesystem che aveva già un file o directory sotto di essa, perdi la possibilità di vedere quei file, ma stanno ancora consumando spazio sul disco sottostante. Ho avuto copie di file mentre ero in modalità utente singolo scaricando file in directory che non potevo vedere se non in modalità utente singolo (a causa di altri sistemi di directory montati su di essi).
Soluzione 3:
Sono d'accordo con la risposta di OldTroll come la causa più probabile per il tuo spazio "mancante".
Su Linux puoi facilmente rimontare l'intera partizione root (o qualsiasi altra partizione per quella materia) in un'altra posizione nel tuo filesystem, ad esempio /mnt, basta emettere un
mount -o bind / /mnt
allora puoi fare un
du -h /mnt
e guarda cosa occupa il tuo spazio.
Ps:scusa per aver aggiunto una nuova risposta e non un commento, ma avevo bisogno di una formattazione per rendere leggibile questo post.
Soluzione 4:
Guarda cosa df -i
dice. Potrebbe essere che tu abbia esaurito gli inode, cosa che potrebbe accadere se ci sono un gran numero di piccoli file in quel filesystem, che utilizza tutti gli inode disponibili senza consumare tutto lo spazio disponibile.
Soluzione 5:
Nel mio caso questo aveva a che fare con file cancellati di grandi dimensioni. È stato piuttosto doloroso risolverlo prima di trovare questa pagina, che mi ha indirizzato sulla strada giusta.
Alla fine ho risolto il problema usando lsof | grep deleted
, che mi ha mostrato quale programma conteneva due file di registro molto grandi (per un totale di 5 GB della mia partizione root da 8 GB disponibile).