Cacheoptimierung: Wie kann ich Metainformationen bevorzugen?

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
dolphin
Beiträge: 362
Registriert: 01.05.2006 11:48:24

Cacheoptimierung: Wie kann ich Metainformationen bevorzugen?

Beitrag von dolphin » 08.10.2011 05:40:09

Kurzfassung der Frage

Ist es möglich, das Caching-Verhalten so zu optimieren, dass die Metainformationen von
Dateien bevorzugt im Cache gehalten werden, und diese nicht so leicht durch die eigentlichen
Daten aus dem Cache verdrängt werden?




Begründung, warum ich das brauche (Kurzfassung)

Nachdem der Kernel die Metainformationen von Dateien in den Cache geladen hat,
kopiere ich die tatsächlichen Dateien. Nun liegen die tatsächlichen Dateien im Cache
und verdrängen die Metainformationen aus dem Cache.
  • Ich finde aber, dass die Metainformationen viel wertvoller sind als die eigentlichen
    Daten.
  • Mir bringt es fast nie einen Vorteil, wenn die eigentlichen Daten im
    Cache herumliegen. Im Gegenteil: Es hat sogar den Nachteil, dass ich dadurch
    umgeklappte Bits, die sich auf den Datenträger eingeschlichen haben, noch nicht
    einmal bemerke.
  • Es bringt mir aber riesige Vorteile, wenn möglichst viele Metainformationen im Cache
    liegen.


Begründung, warum ich das brauche (Langfassung mit Beispiel)

Ich habe einen Debian-Mirror von etwa 50 GiB Größe auf einer Festplatte herumliegen.
Ich weiß nicht, wie groß der Mirror ist, also messe ich mit dem Midnight-Commander nach:
  • Command
  • show directory sIzes
Da ein Debian-Mirror aus vielen kleinen Dateien besteht, kann das jetzt schon mal
geschätzte 10 Minuten dauern, bis der Midnight-Commander die Größe des kompletten Mirrors
zusammengerechnet hat.

Nun schließe ich den Midnight-Commander, öffne ihn erneut, messe erneut nach, und schwupps,
nach 2 Sekunden hat er das Ergebnis raus: 52,228,882K bytes

Die Daten lagen also im Cache, deshalb hat es jetzt nicht mehr 10 Minuten, sondern nur noch
2 Sekunden gedauert.

Nun kopiere ich diese ca. 50 GiB auf eine andere Festplatte.
Eine Stunde später ist er fertig. Ich möchte jetzt noch einmal ermitteln,
wie groß genau der Mirror auf der Quellplatte noch einmal war.

Problem ist, jetzt braucht er wieder geschätzte 10 Minuten, um das zu ermitteln.



dolphin

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Cacheoptimierung: Wie kann ich Metainformationen bevorzu

Beitrag von rendegast » 08.10.2011 12:31:49

Selbst gecacht braucht das 'Show directory sizes' 10s für meine 100GB-Partition.
Schnell ist aber dieses:

Code: Alles auswählen

du -shc *
du -skc *
du -smc *
(Ich bevorzuge letztes, da schnell zu überblicken, und sortierbar.)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten