root voll Linux. Keine freien Blöcke

9

df -hmeldet, dass die '/' Partition zu 100% voll ist. Während der Ausführung du -hs *in jedem Verzeichnis dieser Partition wird angezeigt, dass noch viel Speicherplatz vorhanden ist.

tune2efsdas meldet nur einen Block, um frei zu sein. Lief fsckauch, was auch alle verwendeten Blöcke zeigt.

Die Ionodennutzung beträgt 14% auf der '/' Partition.

Bitte beachten Sie, dass / var, / usr, / dev, / tmp, / home auf verschiedenen Partitionen gemountet sind und über Speicherplatz verfügen.

Können Sie mir bitte die möglichen Ursachen für die Belegung aller Blöcke und die vollständige Datenträgerberichterstattung mitteilen, auch wenn dort viel Speicherplatz vorhanden ist?

Ankit
quelle
1
Welche Protokolldateien haben Sie kürzlich gelöscht?
Mike
Versuchen Sie du -shx /herauszufinden, ob noch genügend Platz vorhanden ist. Dadurch wird alles ausgewertet, /ohne dass Sie alle möglichen Verzeichnisse abrufen müssen.
Insyte
du -shx / 188M Die '/' Partition hat 2 GB.
Ankit

Antworten:

13

Neben dem Problem mit geöffneten Dateien, das normalerweise dazu führt, dass ansonsten freier Speicherplatz nicht verfügbar ist, sind Dateien, die durch Einhängepunkte geschützt sind, ein nicht ungewöhnliches Problem. Wenn Sie /tmpbeispielsweise ein separates logisches Volume haben, sich aber noch Dateien im Verzeichnis /tmpdes Root-Dateisystems befinden, verbrauchen diese Dateien Speicherplatz, werden jedoch vom Mount ausgeblendet.

Versuchen Sie, beim Booten in den Einzelbenutzermodus zu wechseln, damit nichts ausgeführt wird, was die Bereitstellung offen hält, die Bereitstellung aufhebt und sicherstellt, dass sich keine Dateien in den Verzeichnissen befinden, die normalerweise als Bereitstellungspunkte verwendet werden.

David Spillett
quelle
1
Danke David für die Idee. Ich habe an dieser Richtung gearbeitet. Es wurde festgestellt, dass eine USB-Festplatte an das Gerät angeschlossen war. Die Maschine wurde am Morgen neu gestartet. Es scheint, dass die Festplatte beim Booten nicht erkannt wurde und einige ihrer Daten an die Partition '/' gingen. Ich dachte mir das, als ich / tmp und den Mount-Punkt des externen Laufwerks abmontierte.
Ankit
11

Dies wird häufig dadurch verursacht, dass eine Datei zum Schreiben geöffnet wurde, die gelöscht wurde, der Prozess zum Schreiben in die Datei jedoch nicht neu gestartet wurde, wodurch die Datei freigegeben wird. Sie können lsof verwenden , um Dateien zu finden, die geöffnet, aber nicht verknüpft (gelöscht) sind.

lsof +L1

sollte den Trick machen. Wie in der Manpage angegeben:

Eine Spezifikation des Formulars +L1wählt geöffnete Dateien aus, die nicht verknüpft wurden. In einer Spezifikation des Formulars +L1 <file_system>werden nicht verknüpfte geöffnete Dateien im angegebenen Dateisystem ausgewählt.

user9517
quelle
lsof + L1 gibt nichts. dh keine offene nicht verknüpfte Datei. Alles andere kann ich überprüfen.
Ankit
Dadurch konnte ich den Schuldigen auf meinem System finden - nichts mit Mount-Shielded-Volumes zu tun. Ich hatte einen Backup-Prozess hängen, der 90% des Root-Volumes in temporären Dateien verbraucht hatte. lsof +L1listete sie alle sehr einfach auf.
Synchro
0

Wenn eine Datei gelöscht wird, während ein anderer Prozess sie geöffnet hält, kann dieser Prozess weiter schreiben und schließlich die Festplatte unsichtbar füllen. Sobald der Prozess, der die Datei offen hält, beendet wird, werden die Blöcke verfügbar gemacht.

Versuchen Sie, jeden der laufenden Dämonen zu bewerten. Wenn möglich, starten Sie sie neu. Wenn Sie es nicht herausfinden können, sollte es durch einen Neustart der Box gelöscht werden.

Insyte
quelle
Das System neu gestartet, fsck ausgeführt, nichts hat geholfen.
Ankit