Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bei Windows bewirken das ein Verzeichnis im Speicher bleibt (https://www.delphipraxis.net/148282-bei-windows-bewirken-das-ein-verzeichnis-im-speicher-bleibt.html)

Anthauri 26. Feb 2010 16:26


Bei Windows bewirken das ein Verzeichnis im Speicher bleibt
 
Hallo zusammen,
ich habe bei einem meiner Deplphi Projekte ein Arbeitsverzeichnis mit vielen Dateien darin.

Wenn ich auf das Verzeichnis erstmalig zugreife (egal ob über das Programm oder über den Dateiexplorer oder so) dauert es eine Weile (Minute oder so) bis die Daten verfügbar sind (ich mutmaße die werden in den Speicher gelesen und abgelegt).
Bei Folgezugriffen geht es dann schneller (weils ja aus dem Speicher kommt).

Allerdings scheint es so, dass Windows diesen Speicherbereich auch irgendwann wieder vergisst wenn eine Zeit lang keine Dateizugriffe erfolgten und der nächste Zugriff ebenso lange dauert wie der erste.

Kann man bei Windows (XP) irgendwie einstellen, dass es dies bei diesem Verzeichnis (oder generell) nicht tut?

alleinherrscher 26. Feb 2010 16:32

Re: Bei Windows bewirken das ein Verzeichnis im Speicher ble
 
Ne Minute, bis der Explorer zugriff hat? Hab ich noch nie erlebt... mach mal testweise deinen virenscanner aus und versuch dann nochmal, das verzeichnis zu öffnen.

s.h.a.r.k 26. Feb 2010 16:39

Re: Bei Windows bewirken das ein Verzeichnis im Speicher ble
 
Ich kenne nur folgendes Verhalten: wenn mein Windows 7 lustig ist, dann werden die Festplatten, auf die seit xx Minuten kein Zugriff statt gefunden hat, abgeschalten. Wenn ich dann wieder auf die Festplatten zugegriffen habe, hat es wieder gedauert, bis diese angelaufen sind.

Ist das wirklich nur bei dem einen Ordner der Fall? Hast du diese evtl. auf einer anderen HDD liegen? Wie viele Dateien befinden sich denn darin?

Aber was mich wirklich verwirrt, ist die geschätzte Dauer... Selbst 10 Sekunden wäre schon arg lange! Vielleicht auch mal die S.M.A.R.T.-Werte der Festplatte checken!

Anthauri 27. Feb 2010 07:36

Re: Bei Windows bewirken das ein Verzeichnis im Speicher ble
 
Danke für die Tipps, werde mal nach den Virenscannern etc. schauen.

Bernhard Geyer 27. Feb 2010 10:09

Re: Bei Windows bewirken das ein Verzeichnis im Speicher ble
 
Zitat:

Zitat von alleinherrscher
Ne Minute, bis der Explorer zugriff hat? Hab ich noch nie erlebt...

Wir schon :-(. Auch mit 5stelliger Anzahl von Dateien in einem Verzeichnis.

Welche Art von Dateien sind das? Bei Bilddateien versucht Windows teilweise seinen Thumbs zu aktualisieren.

himitsu 27. Feb 2010 10:28

Re: Bei Windows bewirken das ein Verzeichnis im Speicher ble
 
Nein, das kann man nicht einstellen
und ja, die Verzeichnisse werden in der WFC (Windows File Cache, denn auch ein Verzeichnis ist in gewisser Weise nur eine Datei) zwischengespeichert.

Wie lange etwas in dieser Cache drinbleibt, hängt von der Auslastung des Arbeitsspeichers und den Einstellungen für das CacheManagement ab.

Und nein, es wäre auch fatal, wenn man einfach so sagen könnte, daß diese Cache etwas nicht mehr entladen darf, denn damit würde die Nutzung des physischen Arbeitsspeicher stark eingeschränkt.

PS: Bei einem FindFirst/FindFirstFile werden keine Thrumbnails akualisiert oder irgendwelche Metadaten aus den Dateien ausgelesen, auch der Virenscanner schaut sich dort normaler Weise noch keine Dateien an, da nicht auf diese Zugegriffen wird (abgesehn von vielleicht dem Verzeichnis selber, aber das dürfte schnell vorüber sein).

Windows braucht einfach eine Weile, um derarige Verzeichnisse aufzulisten.
(schneller geht es nur, wenn man z.B. die MFT direkt ausließt oder wenn man die Verzeichnisstruktur selber zerlegt/parst, aber Letzteres würde ich keinem anraten, da man hierfür den genauen Aufbau ds Dateisystems beachten müsste)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz