Kategorien
Betriebssystem

Platte meldet sich voll, obwohl noch genug Platz ist?

Solltet ihr unter Linux mal das Problem haben, dass euch euer Sytem sagt, ihr hättet keinen freien Speicherplatz mehr, obwohl die Platte noch lange nicht voll ist, dann versucht es mal mit folgendem Befehl:

df -i

Damit werden euch die noch verfügbaren Inodes eures Dateisystems angezeigt. Sollte das ganze dann ungefähr so aussehen, habt ihr das Problem erkannt. Ihr habt zu viele Dateien:

Dateisystem   Inodes   IBenutzt   IFrei   IUse%   Eingehängt auf
/dev/sda1       510048  509886     162    100%     /

Kurze Erklärung: für jede Datei, die auf euer Platte liegt, wird eine Inode benötigt, in der Sachen wie Zugriffsrechte, Eigentümer und Dateigröße gespeichert werden. Wenn alle belegt sind, kann das System keine weiteren Dateien anlegen und meckert dann zum Beispiel mit folgender Meldung rum: “Auf dem Gerät ist kein Speicherplatz mehr verfügbar”.

Eine beliebte Quelle für jede Menge Dateien sind die_linux-headers_ Pakete. Schaut einfach mal in das Verzeichnis /usr/src. Sollten dort jede Menge Verzeichnisse liegen, die linux-headers-X.Y.Z heißen, dann ist das eine gute Stelle um mit dem Aufräumen anzufangen.

Es gibt meinen Befehl, mit dem ihr alle alten Kernel und alle Kernel-Header Pakete aus eurem System entfernen könnt. WICHTIG! Bevor ihr diesen Befehl ausführt, solltet ihr sicher sein, dass euer System bereits mit dem aktuellsten Kernel gebootet wurde. Im Zweifelsfall einfach nochmal neu starten! Den Befehl findet ihr unter http://goo.gl/yyCyW.

Falls Ihr eine Übersicht über die Anzahl der Dateien in euren Verzeichnissen benötigt, versucht es mal mit folgendem Shell Script:

cd /
for i in *; do
  echo -n "$i: "
  find $i -print | wc -l
done
Kategorien
Code

Validiererklassen

Hier ein Tipp für alle Flow Entwickler:

Validierer-Klassen, die Optionen erhalten, niemals mit dem Scope “Singleton” anlegen.

Irgendwie auch logisch. Beim Singleton wird der Validierer einmal erzeugt und mit den Standardwerten für die Optionen initialisiert. Danach wird er nur noch aus dem Objekt-Cache geladen.

Nur wenn der Validierer ein Prototyp ist, werden auch die Optionen anhand der PHPDoc Kommentare initialisiert.