
Ich habe ein Problem, bei dem die Groß-/Kleinschreibung der DF-Ergebnisse unzuverlässig ist. Ich verwende das XFS-Dateisystem auf SLES 11 SP3.
Grundsätzlich besteht ein großer Unterschied (ein paar GB) zwischen der freien Größe vor und nach dem Löschen des Festplattencaches. Weiß jemand, warum der Festplattencache zusätzlichen Speicherplatz verbraucht?
Beispiel:
VideoEdge:/ # df
Filesystem 1K-blocks Used Available Use% Mounted on
...
/dev/sdb2 870942208 824794856 46147352 95% /mediadb
/dev/sdc1 975746564 924536548 51210016 95% /mediadb1
/dev/sdd1 975746564 153177500 822569064 16% /mediadb2
VideoEdge:/ # echo 3 > /proc/sys/vm/drop_caches
VideoEdge:/ # df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sdb2 870942208 822225756 48716452 95% /mediadb
/dev/sdc1 975746564 923374888 52371676 95% /mediadb1
/dev/sdd1 975746564 148323524 827423040 16% /mediadb2
VideoEdge:/ # df
Aus dem Obigen geht hervor, dass nach dem Löschen des Speicherplatzes mehr Speicherplatz verfügbar ist.
Wir verwenden df, um abzuschätzen, wie viel Speicherplatz verwendet werden kann, und versuchen, alte Daten zu entfernen, wenn df angibt, dass der Speicher zu 95 % voll ist. Da der Festplattencache unvorhersehbar viel Speicherplatz beansprucht, verursacht dies Probleme.
Weiß jemand, warum der Festplattencache vorübergehend Speicherplatz verbraucht? Gibt es eine Möglichkeit zu berechnen, wie viel Speicherplatz der Festplattencache belegt oder wie viel er maximal belegen kann?
Wir möchten den Festplattencache nicht leeren, da dies von Zeit zu Zeit zu Leistungseinbußen führen kann.
VideoEdge:/ # df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 8259484 5592116 2247724 72% /
udev 2021220 228 2020992 1% /dev
tmpfs 2021220 144 2021076 1% /dev/shm
/dev/sda1 8259484 5592116 2247724 72% /
/dev/sda3 463282160 75389072 387893088 17% /var
/dev/sdb1 104804356 32928 104771428 1% /var/opt/americandynamics/venvr/clipexport
/dev/sdb2 870942208 821370196 49572012 95% /mediadb
/dev/sdc1 975746564 923423496 52323068 95% /mediadb1
/dev/sdd1 975746564 148299180 827447384 16% /mediadb2
/dev/sdb2 on /mediadb type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
/dev/sdc1 on /mediadb1 type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
/dev/sdd1 on /mediadb2 type xfs (rw,noatime,nodiratime,attr2,nobarrier,inode64,allocsize=4096k,noquota)
Antwort1
Bitte beachten Sie:
Dies ist ein Ergebnis der dynamischen Vorabzuordnungsfunktionen von XFS. Dabei handelt es sich im Wesentlichen um Dateipuffer, die Schreibvorgänge zusammenfassen, um eine Dateifragmentierung zu verhindern. Es gibt einige Workarounds.
du --apparent-size
kann hilfreich sein.- Mount-Optionen für das XFS-Dateisystem wie beschrieben inverknüpfte Frage.
In beiden Fällen ist Ihr Dateisystem gefährlich voll (95 %+). Der geringe Pufferspeicherplatz ist irrelevant, wenn man bedenkt, dass Ihre Auslastung deutlich unter 80 % liegen sollte. Sie können die df
Ergebnisse genauso gut verwenden, da diese die tatsächliche Auslastung zu einem bestimmten Zeitpunkt darstellen.