Ubuntu-Server: Festplatte immer voll

8

Ich habe 50 GB VPS

wenn ich df renne bekomme ich

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             49982172  46580100    863064  99% /
none                    507212       172    507040   1% /dev
none                    511676         4    511672   1% /dev/shm
none                    511676        76    511600   1% /var/run
none                    511676         0    511676   0% /var/lock
none                    511676         0    511676   0% /lib/init/rw

Wenn ich du -h von / renne, bekomme ich

...
20K     ./tmp/vmware-root
4.0K    ./tmp/.webmin
4.0K    ./tmp/.X11-unix
4.0K    ./tmp/.ICE-unix
4.0K    ./tmp/hsperfdata_root
48K     ./tmp
7.7M    ./bin
3.8G    .

Ich habe auch versucht, mich über Dateien mit einer Größe von mehr als 100 MB zu informieren, um herauszufinden, was meinen Speicherplatz mit find / -size + 100M -ls belegt

4026531985    0 -r--------   1 root     root     140737486266368 Mar 23 08:55 /proc/kcore
find: `/proc/3969/task/3969/fd/5': No such file or directory
find: `/proc/3969/task/3969/fdinfo/5': No such file or directory
find: `/proc/3969/fd/5': No such file or directory
find: `/proc/3969/fdinfo/5': No such file or directory

Ich habe keine Ahnung, was ich sonst noch tun kann, um mein Problem zu finden.

Bearbeiten:

Mehr Info

df --inodes /

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/sda1            3178496  178211 3000285    6% /

find / -xdev -print | wc -l

178773

lsof + L1

COMMAND     PID  USER   FD   TYPE DEVICE SIZE/OFF NLINK    NODE NAME
miniserv.  1496  root  txt    REG    8,1    10416     0 2364381 /usr/bin/perl (deleted)
mysqld    12869 mysql    4u   REG    8,1        0     0  537495 /tmp/ibkCwnHJ (deleted)
mysqld    12869 mysql    5u   REG    8,1        0     0  537497 /tmp/ibFyPrrv (deleted)
mysqld    12869 mysql    6u   REG    8,1        0     0  537499 /tmp/ibdUnwbh (deleted)
mysqld    12869 mysql    7u   REG    8,1        0     0  537500 /tmp/iblHYOV2 (deleted)
mysqld    12869 mysql   11u   REG    8,1        0     0  537501 /tmp/ibUW9YGO (deleted)

Distributor ID: Ubuntu Beschreibung: Ubuntu 10.04.4 LTS Release: 10.04 Codename: lucid

Buntstifte
quelle
1
Ich würde gerne Ihre Inode-Nutzung sehen:df -i
Wesley
@WesleyDavid: zum ursprünglichen Beitrag hinzugefügt.
Krayons
Ich vermute du -h, Sie haben viele Informationen gedruckt, und Sie haben möglicherweise eine wichtige verpasst ... Versuchen Sie du -sm /* | sort -n, die Liste (sortiert nach Größe) in MB von /Unterverzeichnissen zu haben
Ring Ø

Antworten:

11

Es gibt normalerweise einige Diskrepanzen zwischen du und df, aber normalerweise ist es nicht so groß, wie Sie sehen.

  • du meldet den Speicherplatz, der beim Lesen der Informationen aus dem Verzeichnisbaum verwendet wird. Er ist genau, aber langsam.
  • df meldet den Speicherplatz, der beim Lesen der Metadaten des Dateisystems verwendet wird. Er ist schnell, aber weniger genau, da er mit Blöcken arbeitet.

Die übliche Ursache für das, was Sie sehen, ist eine Datei, die gelöscht wurde, aber durch den Prozess, der darauf schreibt, noch nicht geschlossen wurde.

Da die Datei gelöscht wurde, wird du keinen Verzeichniseintrag dafür sehen und kann ihn daher nicht in den Bericht aufnehmen.

Da die Datei noch geöffnet ist, sind die verwendeten Blöcke nicht frei, sodass df meldet, dass sie verwendet werden.

Sie sollten in der Lage sein, die Datei aufzuspüren, mit der das Problem verursacht wird

lsof +L1

Überprüfen Sie die SIZE/OFFSpalte.

Eine Spezifikation des Formulars + L1 wählt geöffnete Dateien aus, die nicht verknüpft wurden. Eine Spezifikation des Formulars + L1 wählt nicht verknüpfte geöffnete Dateien im angegebenen Dateisystem aus.

user9517
quelle
Vielen Dank. Das Ergebnis von lsof + L1 wurde zum Eröffnungsbeitrag hinzugefügt. Sieht nicht so aus, als ob das Problem da ist.
Krayons
@Krayons: Ich würde versuchen, einige Ausfallzeiten einzuplanen, um dann einen fsck auszuführen.
user9517
Das hatte es behoben. Es musste etwas schrecklich Falsches mit dem Dateisystem gewesen sein.
Krayons