Nun, ich denke, es sind eine (oder mehrere) Logdateien, die zu groß geworden sind und entfernt/gesichert werden müssen. Ich würde vorschlagen, zuerst nach den großen Dateien zu suchen. Finden Sie also alle Dateien, die größer als 10 MB
sind (10 MB ist eine ausreichend große Dateigröße, Sie können auf ähnliche Weise +1 MB für 1 MB wählen)
sudo find / -type f -size +10M -exec ls -lh {} \;
und jetzt können Sie feststellen, welche die Probleme verursachen, und sich entsprechend darum kümmern.
Wie für Ihren ursprünglichen du -a / | sort -n -r | head -n 10
Befehl, das wird nicht funktionieren, da es nach Größe sortiert, und so werden alle Vorfahrenverzeichnisse einer großen Datei in der Pyramide nach oben gehen, während die einzelne Datei höchstwahrscheinlich übersehen wird.
Hinweis:Es sollte ziemlich einfach sein, das Auftreten ähnlicher anderer Protokolldateien/Binärdateien am Ort der Dateien zu bemerken, die Sie so finden, also als Vorschlag, tun Sie cd
in das Verzeichnis, das die Originaldatei enthält, um weitere Dateien der gleichen Art zu bereinigen. Sie können auch mit dem Befehl für Dateien mit einer Größe von mehr als 1MB
iterieren als nächstes usw.
Wenn Sie keine gigantische Datei finden können, könnte das Beenden einiger Prozesse das Problem lösen (bei mir hat es funktioniert, lesen Sie die vollständige Antwort, um zu erfahren, warum)
Früher:
/dev/xvda1 8256952 7837552 0 100% /
Jetzt
/dev/xvda18256952 1062780 6774744 14% /
Grund: Wenn Sie rm <filename>
tun Bei einer Datei, die derzeit von einem beliebigen Prozess geöffnet ist, wird die Datei nicht gelöscht, und der Prozess könnte immer noch in die Datei schreiben. Diese Geisterdateien können von find
nicht gefunden werden Befehl und sie können nicht gelöscht werden. Verwenden Sie diesen Befehl, um herauszufinden, welche Prozesse gelöschte Dateien verwenden:
lsof +L1
Beenden Sie die Prozesse, um die Dateien freizugeben. Manchmal ist es schwierig, alle Prozesse zu beenden, die die Datei verwenden. Versuchen Sie, das System neu zu starten (ich fühle mich nicht gut, aber das ist eine schnelle Lösung, stellt sicher, dass kein Prozess die gelöschte Datei verwendet)
Lesen Sie Folgendes:https://serverfault.com/questions/232525/df-in-linux-not-showing-correct-free-space-after-file-removal/232526
Bei /
, geben Sie du -hs *
ein als root
:
$ sudo su -
cd /; du -hs *
Sie sehen die volle Größe aller Ordner und identifizieren die größeren.