df unter APFS

maceis

Aktives Mitglied
Thread Starter
Dabei seit
24.09.2003
Beiträge
16.880
Reaktionspunkte
626
Hallo zusammen,

seit ich APFS benutze, stelle ich immer wieder fest, dass df auch nach längerem Warten keine aktuellen Werte anzeigt bzw. die Werte weit von dem abweichen, was im Festplattendienstprogramm, unter "Über diesen Mac" oder an anderen Stellen angezeigt wird.

Ich hab bisher noch keinen Weg gefunden, um df dazu zu bringen, "korrekte" Werte auszugeben.
Gibt es da was?

Danke und Gruß
D.Mon
 
df hat doch diverse optionen zur blocksize.
kann man da nicht eventuell etwas drüber finetunen?
 
Nein, das ändert leider nichts.
Reproduzieren kann man das z. B. indem man zunächst im FPDP und mit df den freien Platz auf dem Hauptvolume anschaut.
Dann löscht man mit tmutil alle localsnapshotsund vergleicht wieder.
Im FPDP wird nun viel mehr freier Platz angezeigt, in df nicht.

Gruß
D.Mon
 
Ich denke die TM Snapshots sind ja nicht wirklich Teil des Dateisystem sondern Block Level Copy-On-Write Kopien.

"df" schaut doch nur auf die Größe des Dateisystems in Blöcken und sagt wie viel davon frei ist.
Die Blockanzahl muss ja nichts mit dem darunter liegendem Volumen zu tun haben.

Man kann ja auf einer 1TB Platte auch ein 500GB Dateisystem anlegen.
Nur als Vergleich gemeint natürlich.

Was ich sagen will ist: Die Blöcke die das Dateisystem und damit "df" sieht, müssen ja nichts mit den Mechanismen des AFPS und dessen Verwaltung von Snapshots usw.. zu tun haben.
Das FPDP weiss halt "mehr" als das Dazeisystem.
 
Wenn dem so wäre, müssten die von df ausgegebenen Werte höher sein, als die des FPDP. Ist aber genau anders herum.
Vor dem Löschen der localsnapshots zeigen beide etwa den selben freien Platz an.
Danach hat das FPDP (oder Über diesen Mac>Festplatten oder Info im Finder) deutlich mehr zu bieten. Ich hab das heute nochmal getestet, da waren es um die 38 GB.
Abgesehen davon, sieht df definitiv die Volumes.
 
ich kenne das auch nur so rum, dass df anzeigt was tatsächlich genutzt/nutzbar ist. du kannst das auch überprüfen, indem du ein dummyfile schreibst.
 
schreit doch eher nach einem bugreport bzw feature request an apple…
 
ich kenne das auch nur so rum, dass df anzeigt was tatsächlich genutzt/nutzbar ist. du kannst das auch überprüfen, indem du ein dummyfile schreibst.
Das macht in meinen Augen keinen Sinn.
df -h zeigt mir: Avail 282Gi
Der Finder sagt: Verfügbar: 310,12 GB (7,22 GB löschbar)
Das FPDP sagt: Frei: 302,95 GB
Und "Über diesen Mac" sagt: Verfügbar 310,11 GB
Und das nachdem ich vor einiger Zeit rund 30 GB an localsnapshots gelöscht habe.

Für mich sieht das so aus, als wären auf Dateisystemebene knapp 303 GB frei. Durch Löschen von rund 7 GB (neuer) localsnapshots könnte ich über rund 310 GB verfügen.
Nur df hat davon keine Ahnung, weil heute Vormittag auf Dateisystemebene nur 382 GB frei waren.

Ich beobachte das nun schon seit einer Weile und habe auch in allen mögliche Foren, Technikblogs etc. herumgesucht.
Nach einem Neustart würde mir df sicher wieder aktuelle Werte zeigen.
Ich suche aber jetzt auch dem Grund, warum sich da nicht von selbst aktualisiert und nach einem Kommando, das manuell auszulösen.
Übrigens zeigt mir auch EyeTV 302,9 GB verfügbaren Platz an.

Zwischenzeitlich habe ich auch herausgefunden, dass df -H Avail 303G zeigt.
Verstehen muss man das nicht, oder?
Die man page hilft da auch nicht weiter.

Gruß
D.Mon
 
df -H != df -h
1000 != 1024
Aber das nur am Rande.

Alle Apple tools nehmen Basis 1000, alle Unix Tools 1024
Der Rest ist Magie von intern vs. externe Ansicht.
 
df -H != df -h
1000 != 1024
Aber das nur am Rande.
Das ist mir doch klar. Deswegen steht als Einheit auch einmal G und einmal Gi da.
Mich wundert nur, dass mit -H offensichtlich der tatsächliche freie Platz ausgegeben wird, während mit -h irgendein anderer Wert ausgegeben wird.
(303/1.024)*1.000 ist jedenfalls nicht 282.

Edit: Aber (303/(1024*1024))*1000 :D
Ich ziehe die Frage (vorläufig)zurück :)
 
Ich suche aber jetzt auch dem Grund, warum sich da nicht von selbst aktualisiert und nach einem Kommando, das manuell auszulösen.
ich bin abermals versucht, den fehler im groben der APFS fast directory sizing problematik zuzuordnen. apple hat das angekündigt, wohl teilweise eingebaut und liefert nicht wirklich. in deinem fall ist testen natürlich langwierig, weil du zuviel platz frei hast. :p

ein anderer grund könnte darauf hinauslaufen, dass finder et al. ein flag beachten und die gelöschten snapshots tatsächlich nur gelöscht markiert wurden. das sollte (im idealfall) aus der APFS-doku erfahrbar sein.
 
Ich hab letztes WE angefangen ein wenig herumzutasten und diese Woche weitergemacht.
Dazwischen hatte ich vergessen, was ich schon ausprobiert hatte und bin deswegen etwas durcheinander gekommen.
Das Problem besteht (wie ich inzwischen wieder herausgefunden habe) weniger bei df oder anderen Unix Tools, sondern beim Finder und anderen Werkzeugen, die manchmal eine Weile brauchen, bis das Löschen von großen Datenmengen anzeigen.

Getestet habe ich das gerade noch einmal mit 2GB und 4GB großen Dateien und durch Löschen der localsnapshots in einer Schleife.
Dafür, dass nur flags gesetzt werden, dauert das Löschen von localsnapshots zu lange.
Wer will, kann es ja mal selbst ausprobieren:
Code:
zsh
for lss in $(tmutil listlocalsnapshots / | tr '\n' ' ')
do
tmutil deletelocalsnapshots ${lss##*.}
done

Gruß
D.Mon
 
Zurück
Oben Unten