Frage

Ich habe ein vps scheibe läuft CentOS 5.5 soll ich 15 Konzerte von Speicherplatz haben, aber nach df es scheint, meine Speicherplatznutzung zu verdoppeln.

, wenn ich du -skh * in / als root ausführen i erhalten:

[root@yardvps1 /]# du -skh *
0       aquota.group
0       aquota.user
5.2M    bin
4.0K    boot
4.0K    dev
4.9M    etc
2.5G    home
12M     lib
14M     lib64
4.0K    media
4.0K    mnt
299M    opt
0       proc
692K    root
23M     sbin
4.0K    selinux
4.0K    srv
0       sys
48K     tmp
2.0G    usr
121M    var

Dies steht im Einklang mit dem, was ich an der Maschine hochgeladen haben, und fügt bis zu etwa 5gigs.

Aber wenn ich df laufen erhalte ich:

[root@yardvps1 /]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/simfs            15728640  11659048   4069592  75% /
none                    262144         4    262140   1% /dev

es zeigt mir schon fast 12 Konzerte mit.

, was diese Diskrepanz verursacht und ist es etwas, was ich dagegen tun kann, wollte ich den Server aus auf 15 Gigs basiert aber jetzt ist es im Grunde nur dass ich habe etwa 7 Konzerte von Sachen drauf.

Dank.

War es hilfreich?

Lösung

Die häufigste Ursache für diesen Effekt ist geöffnete Dateien, die gelöscht wurden.

Der Kernel wird nur die Plattenblocks einer gelöschten Datei freizugeben, wenn es nicht in Gebrauch zum Zeitpunkt ihrer Löschung. Ansonsten, die aufgeschoben, bis die Datei geschlossen wird, oder das System neu gestartet wird.

Eine gemeinsame Unix-Welt Trick, um sicherzustellen, dass keine temporären Dateien verbleiben um die folgenden:

  • Ein Prozess erstellt und öffnet eine temporäre Datei

  • Während noch die offene Dateideskriptor hält, geht der Prozess Solange LINK (das heißt löscht) die Datei

  • Der Prozess liest und schreibt in die Datei normalerweise den Dateideskriptor mit

  • Der Prozess schließt den Dateideskriptor wenn es fertig ist, und die Kernel gibt den Raum

  • Wenn der Prozess (oder das System) unerwartet beendet wird, wird die temporäre Datei bereits gelöscht und nicht clean-up notwendig ist.

  • Als Bonus reduziert die Datei zu löschen, die Chancen von Kollisionen zu benennen, wenn temporäre Dateien erstellen und sie stellt auch eine zusätzliche Ebene der Unklarheit über die laufenden Prozesse -. Für alle, aber den Root-Benutzer, dh

Dieses Verhalten stellt sicher, dass die Prozesse müssen nicht mit Dateien umgehen, die von plötzlich gezogen werden unter den Füßen, und auch, dass Prozesse konsultieren sie nicht, um eine Datei zu löschen. Es ist ein unerwartetes Verhalten für die von Windows-Systemen kommen, obwohl, da Sie werden in der Regel nicht erlaubt, eine Datei zu löschen, die in Gebrauch ist.

Der lsof Befehl, wenn es als root ausführen, werden alle geöffneten Dateien zeigen, und es wird speziell zeigen gelöschte Dateien, die gelöscht werden:

# lsof 2>/dev/null | grep deleted
bootlogd   2024       root    1w      REG                9,3         58     917506 /tmp/init.0W2ARi (deleted)
bootlogd   2024       root    2w      REG                9,3         58     917506 /tmp/init.0W2ARi (deleted)

Beenden und Neustarten die schuldigen Prozesse oder Neustart nur den Server sollte dieses Problem lösen.

Gelöschte Dateien können auch vom Kernel offen gehalten werden, wenn zum Beispiel, es ist ein Dateisystem-Image montiert. In diesem Fall Aushängen das Dateisystem oder Neustart des Servers sollte es tun.

In Ihrem Fall durch die Größe des „fehlenden“ Raumes zu urteilen ich für alle Verweise auf die Datei aussehen würde, dass Sie die VPS zum Beispiel zur Einrichtung verwendet das Centos DVD Bild, das Sie löschten nach der Installation.

Andere Tipps

Ein weiterer Fall, die mir begegnet ist, obwohl es scheint nicht das Problem zu sein, wenn Sie eine Partition „auf“ mount vorhandene Dateien.

Wenn Sie dies tun verstecken Sie effektiv vorhandene Dateien, die auf dem in dem Verzeichnis vorhanden montiert zu Partition (der Mount-Punkt) von der Trennwand angebracht ist.

Um fix:. Stoppt alle Prozesse mit offenen Dateien auf der Partition gemountet, Aushang Partition finden und verschieben / entfernen Sie alle Dateien, die jetzt in Mount-Punkt-Verzeichnis erscheinen

Ich hatte das gleiche Problem mit FreeBSD-Server. Der Neustart geholfen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top