Ich habe ein Problem mit Ubuntu 12.04 LTS. Dies ist das zweite Mal, dass ich in den letzten 3 Wochen auf dieses Problem gestoßen bin. Das erste Mal wird in dieser geschlossenen Frage zu StackOverflow beschrieben . Mit der TL; DR- Version ist es mir gelungen, alle Inodes auf einem 450G ext4-System zu verwenden und den Android-Stack weniger als 20 Mal zu kompilieren und zu erstellen.
Ich dachte, ich löse das Problem, indem ich die Festplatte als XFS neu formatiere, damit der Inode-Speicher wächst.
Heute Morgen, nachdem ich über Nacht einen Build erstellt habe, habe ich weniger als 1 GB freien Speicherplatz. Auf diesem Computer befindet sich nichts anderes als das, was zum Erstellen von Android benötigt wird. Ich habe insgesamt 5 Builds auf den Plattformquellen durchgeführt. Der Build erstellt eine Reihe von Dateien, die ich kurz darauf mit lösche make clean
. Ich bin nicht weniger als 1 GB groß, aber die Tools melden es so. Ich habe ein paar temporäre Dateien gelöscht und ungefähr 40 GB "freigegeben". Ein paar Stunden später, nur im Leerlauf, war ich wieder bei weniger als 1 GB frei.
Wenn Sie Ubuntu von einem Flash-Laufwerk ausführen, wird für die Partition Folgendes zurückgegeben ...
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 468521456 468255460 265996 100% /media/f71c77eb-b4cc-
$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda5 1691760 624214 1067546 37% /media/f71c77eb-b4cc-
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 447G 447G 260M 100% /media/f71c77eb-b4cc-
Hier ist der Beweis, dass etwas nicht stimmt. Wenn ich du
(mit und ohne --apparent-size) oder den visuellen Disk Usage Analyzer ausführe, zeige ich, dass ich wirklich nur ungefähr 35 GB oder so verwende. 98,7% des genutzten Speicherplatzes befinden sich in /home/eric
, du
summieren sich jedoch nicht dazu. Die Diskrepanz liegt zwischen /home/eric
und/home/eric/android
Ich habe die relevanten Fragen hier und auf SO gelesen und sie schlagen normalerweise vor, dass es gelöschte Dateien ist, die von offenen Prozessen gehalten werden. Ich habe ein Flash-Laufwerk neu gestartet, um diesen Test auszuführen. Es sollten also keine offenen Dateien sein. FWIW, / tmp ist leer.
Gibt es ein Tool, das ich auf einem Flash-Laufwerk installieren kann, um den "verlorenen" Speicherplatz wiederherzustellen? Ich kann versuchen, Speicher auf dem System freizugeben und dort auszuführen, aber ich gehe davon aus, dass es besser ist, dies von einem Flash-Laufwerk aus zu tun.
Sollte ich dieses System anders konfigurieren? Ich würde es vorziehen, nicht noch einmal zu wischen und zu installieren, aber ich brauche ein nachhaltiges Android-Build-System.
FOLLOWUP - Ich musste letzte Woche die Installation beenden und 12.04 neu installieren, um die Arbeit zu erledigen. Während ich diese Woche erneut Android-Builds durchführe, werde ich die Festplattennutzung im Auge behalten und hier Informationen geben, sobald ich mehr erfahre.
Vielen Dank
quelle
ls -lah ~
in paste.ubuntu.com, fügen Sie sie ein und verknüpfen Sie sie mit Ihrer Frage.Antworten:
Unter Oracle Linux kommt es vor, wenn Sie (viele / große) Dateien haben, die gelöscht werden, aber noch von einem laufenden Prozess geöffnet werden. Dann hilft ein Stopp der Prozesse oder ein Neustart des Rechners.
quelle
lsof +L1
, um die Prozess-ID zu überprüfen und zu beenden.Ich bin kürzlich darauf gestoßen, und in meinem Fall musste ein
fsck
ausgeführt werden.Das habe ich getan
touch /forcefsck && reboot
und nach ein paar Minuten war der Server wieder online und plötzlich waren meine fehlenden 6 GB frei.quelle
Bevor Sie zu weit gehen ..... Bringen Sie das System in den Einzelbenutzermodus und führen Sie eine FULL-Fsck (ich meine wirklich voll
fsck -f /dev/sda5
) des Dateisystems durch und sehen Sie, was es zeigt. Möglicherweise finden Sie den Speicherplatz als Teil der Problembereiche auf Ihrer Festplatte oder als Nichtübereinstimmung zwischen den zugewiesenen und den auf der Festplatte vorhandenen Bereichen.quelle
Wir können einen Test durchführen.
du
Sie haben 10 GB freien Speicherplatz,df
300 MB. Können Sie eine Datei (oder mehrere Dateien) mit einer Größe von beispielsweise 2 GB schreiben? Wenn Sie können, bedeutet dies, dass df einfach falsch ist (und es eigentlich kein Problem mit 'verlorenem Speicherplatz' gibt). Wenn nicht, danndu
ist falsch (was interessant sein wird).quelle
Ich habe die Ursache für dieses Problem nicht gefunden, aber es ist einzigartig für Ubuntu 12.04.
Ich habe gerade einen neuen Server eingerichtet und mit Ubuntu 12.04 begonnen. du zeigte ungefähr 111 GiB Verbrauch, während df ungefähr 170 GiB war.
Das Booten mit systemrescuecd 3.3.0 und das erneute Überprüfen zeigten einen Unterschied von weniger als 1 GiB.
Ich ließ die Partition und das Dateisystem (es ist ext4) unverändert, schob die Ubuntu-Verzeichnisse aus dem Weg und installierte Debian 7.0. Wieder war der Unterschied zwischen du und df <1 GiB.
Mit Ubuntu 10.04 auf derselben Partition und ext4 fs:
Von
df -m /
,und von
du -mx
,das ist nah genug.
quelle
Das Bild , das Sie geschrieben ist Ihnen zu sagen , wo der Raum verwendet wird:
/home/eric
. Es scheint, dass Sie eine sehr große Datei haben, die den gesamten Speicherplatz beansprucht, oder möglicherweise eine große Anzahl kleinerer Dateien. Öffnen Sie Ihr Home-Verzeichnis, stellen Sie sicher, dass versteckte Dateien angezeigt werden ( Ctrl+ Hin Nautilus) und sortieren Sie nach Dateigröße.quelle
Dies wird häufig durch Dateien in einem Verzeichnis verursacht, auf dem auch ein anderes Dateisystem angehängt ist. Ein typischer Fix besteht darin, mit einer Rettungsdiskette oder im Einzelbenutzermodus zu starten und die Verzeichnisse zu leeren, nachdem sichergestellt wurde, dass sie nicht als Mount-Punkte (
cat /proc/mounts
oderdf -h
) verwendet werden.quelle