ext3 Festplattenspeicherprobleme

1892
Fred Asp

Neulich hatte ich keinen Speicherplatz mehr (auf diesem Computer recht häufig). Wie üblich fing ich an, Dateien und Verzeichnisse zu löschen, um etwas Platz zu schaffen.

Dieses Mal meldet das Dateisystem jedoch immer noch, dass mir kein Speicherplatz zur Verfügung steht.

Folgendes berichtet df:

replicant:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/md1 687G 672G 0 100% / tmpfs 250M 0 250M 0% /lib/init/rw udev 10M 716K 9.4M 7% /dev tmpfs 250M 0 250M 0% /dev/shm overflow 1.0M 1.0M 0 100% /tmp 

Wenn ich das richtig berechne, sollten ungefähr 15 GB verfügbar sein /. Kann mir das jemand erklären? Es wird nicht nur dffalsch berechnet, da ich keine Dateien oder nichts im Dateisystem erstellen kann.

Ich verwende ext3 unter Debian 5.0.

3

4 Antworten auf die Frage

4
Mike Insch

Ihr Dateisystem verfügt über reservierten Speicherplatz, der nur für den rootBenutzer verfügbar ist . Dies ist bei Unix / Linux-Systemen ziemlich üblich, wo Protokolldateien und andere Dateien, die zur Ausführung des Systems erforderlich sind, dem rootBenutzer gehören.

Sie können das tune2fsTool verwenden, um den reservierten Speicherplatz abzufragen oder anzupassen root.

Lauf:

tune2fs -l /dev/md1 

Suchen Sie nach den folgenden Parametern, um die aktuellen Parameter anzuzeigen:

Reserved block count: XXXX 

Dadurch erfahren Sie, wie viele Blöcke reserviert sind. Nehmen Sie diesen Wert und multiplizieren Sie ihn mit dem Wert in der Block size: YYYYZeile, um die Menge des reservierten Speicherplatzes in Byte anzuzeigen.

Sie können den reservierten Speicherplatz wie folgt anpassen:

tune2fs -m 2 /dev/md1 

Um den reservierten Speicherplatz auf festzulegen 2%. Der Standardwert ist 5%. Diese Befehle müssen rootentweder über ein rootLogin von via ausgeführt werden sudo.

HINWEIS: Seien Sie vorsichtig, wenn Sie diesen Befehl verwenden, da Ihr Dateisystem durch unsachgemäße Verwendung beschädigt werden kann!

Wow, jetzt habe ich etwas Platz bekommen, aber nicht alle. Was bedeutet das? Gibt es einen Prozess, der auf meiner Festplatte Platz beansprucht? Fred Asp vor 13 Jahren 0
Wenn Sie den Befehl "tune2fs -m 2 / dev / md1" verwendet haben, bedeutet dies nur, dass noch 2% des Speicherplatzes auf Ihrer Festplatte für "root" reserviert sind. Da Sie über keine unabhängige `/ var`-Partition verfügen, würde ich nicht empfehlen, diesen Wert zu unterschreiten, da Ihr System zur Protokollierung und zu anderen Zwecken in` / var` schreiben muss - daher der reservierte Speicherplatz. Mike Insch vor 13 Jahren 0
Wie soll ich meine Situation interpretieren? Dass das System 14GB reserviert hat? Hört sich sehr viel für mich an. Gibt es ein Programm, das sehr große Dateien enthält? Gibt es noch etwas, was ich tun könnte, um das eigentliche Problem zu sehen? Fred Asp vor 13 Jahren 0
Ja, Ihr System verfügt über einen reservierten Speicherplatz von 13,74 GB (2% von 687 GB). Dies ist kein Fehler des Systems, es ist beabsichtigt und beabsichtigt. Möglicherweise kommen Sie mit `tune2fs -m 1 / dev / md1` davon, wodurch dieser Aufwand auf` 6,87 GB` reduziert wird. Dies ist jedoch ein absolutes Minimum. Es ist sehr wichtig, dass Sie ** den reservierten Speicherplatz nicht auf Null setzen, da dies zu einer garantierten Beschädigung des Dateisystems führen wird, wenn Sie das nächste Mal keinen Speicherplatz mehr haben. Mike Insch vor 13 Jahren 1
Vielen Dank für diese Antworten. Ich kann sagen, ich brauche mehr zu diesem Thema. Fred Asp vor 13 Jahren 0
Ein weiterer Vorteil der 14-GB-Reserve ist die Verringerung der Fragmentierung. Ext3 ist nicht der beste FS, wenn es um Fragmentierung geht, und mit 98% der verwendeten Festplatten sind Sie bereits einig. Die Fragmentierung, die Sie zu 99% voll bekommen würden, wäre ziemlich schlecht. MSalters vor 13 Jahren 0
1
Jaap Eldering

Zwei weitere mögliche Gründe dafür, dass kein Speicherplatz freigegeben wurde:

  • Die Dateien, die Sie gelöscht haben, werden noch von einem Programm geöffnet. Solange ein Programm über eine geöffnete Datei (Deskriptor) verfügt, wird die Datei nicht wirklich gelöscht (obwohl sie für neue Programme nicht mehr verfügbar ist).
  • Der Speicherplatz wird sofort von anderen Dateien gefüllt, z. B. Protokolldateien in / var / log aufgrund eines Prozesses, der viele Meldungen generiert, z. B. Debugging-Ausgabe oder Fehler.
Nun, am ersten ans. Ich habe den Computer ein paar Mal neu gestartet, daher sollte dies ausgeschlossen werden. Am zweiten ans. _df_ meldet sich immer noch: size = 687GB, Used = 672GB und avail = 0, ich verstehe, worauf Sie fischen (etwas triviales Zeug) und ich denke mir das selbst. Ich sehe aber kein Problem. Fred Asp vor 13 Jahren 0
1
JooMing

Sie müssen prüfen, was den Platz auf der Root-Partition beansprucht. Der erste Schritt wäre:

cd / du -sk * |sort -n 

Dies hilft Ihnen, die größten Verzeichnisse (wahrscheinlich / home oder / var) zu identifizieren. Wiederholen Sie dann das obige für die größten Verzeichnisse. Wenn Sie etwas entfernen, sollten Sie die Festplattenverwendung vor und nach vergleichen, da in einigen Programmen Dateien geöffnet sein können. Im Zweifelsfall können Sie dies mit lsof überprüfen. Wenn Ihr Speicherplatz von Protokolldateien belegt wird, sollten Sie /etc/logrotate.conf überarbeiten und '/ usr / sbin / logrotate /etc/logrotate.conf' ausführen. Dadurch werden Programme berücksichtigt, die möglicherweise Protokolldateien geöffnet haben.

Wenn das oben genannte nicht hilft. Starten Sie den Einzelbenutzermodus, und führen Sie fsck aus. Möglicherweise ist auch ein Dateisystem beschädigt.

0
akseli

Das hört sich ziemlich dumm an, aber haben Sie sichergestellt, dass Sie Ihren Mülleimer geleert haben?

Wenn Sie Dateien löschen, speichert das Betriebssystem sie manchmal in Ihrem Papierkorb, falls Sie die Datei versehentlich gelöscht haben, und löscht sie erst dann wirklich, wenn Sie sie aufgefordert haben, den Papierkorb zu leeren.

Führen Sie fsck aus, um sicherzustellen, dass das Laufwerk nicht beschädigt ist. Sie belegen möglicherweise den gesamten Speicherplatz mit beschädigten + gefundenen Dateien.

Ich verwende den Befehl _rm_, um die Dateien zu löschen. Soweit ich weiß, werden die Dateien / Verzeichnisse dauerhaft direkt entfernt. Fred Asp vor 13 Jahren 0
Siehe die Bearbeitung oben! ^ akseli vor 13 Jahren 0