Discussion:
geöffnete Dateien - Dateizugriff
(zu alt für eine Antwort)
M. Behrendt
2014-05-15 13:13:34 UTC
Permalink
Hallo mal wieder!

Diesmal eine etwas theoretischere Frage:

Hat jemand eine Ahnung, ob ich mit Delphi's Hilfe herausfinden kann, auf welche Dateien unter Windows gerade zugegriffen wird?

Mein System ist zeitweise etwas lahm, wobei die Festplatten kräftig arbeiten.
Nun will ich herausfinden, welche Datei(en) da bremst(en).

Ich kann zwar über die Leistungsüberwachung die logischen datenträger überwachen, aber das reicht leider nicht aus.

Hat einer eine Idee?

MfG,
Mike Behrendt
Martin Hentrich
2014-05-15 14:02:53 UTC
Permalink
On Thu, 15 May 2014 06:13:34 -0700 (PDT), "M. Behrendt"
Post by M. Behrendt
Hat einer eine Idee?
Indexdienste abschalten?

Martin
--
Sich über andere Leute ärgern heißt,
sich selbst dafür zu bestrafen, dass diese
nicht so sind, wie man sie gerne hätte.
Marc Santhoff
2014-05-15 16:48:04 UTC
Permalink
Post by M. Behrendt
Mein System ist zeitweise etwas lahm, wobei die Festplatten kräftig
arbeiten. Nun will ich herausfinden, welche Datei(en) da bremst(en).
Hat einer eine Idee?
Die Welt nicht neu erfinden:

http://technet.microsoft.com/en-us/sysinternals/bb545046

Bestimmt auch Prozeßmonitor u.a.

Marc
M. Behrendt
2014-05-15 18:21:34 UTC
Permalink
Post by Marc Santhoff
http://technet.microsoft.com/en-us/sysinternals/bb545046
Den ProcessMon hatte mir auch schon Herr Rompel vorgeschlagen.
Allerdings finde ich darin keine Echtzeit-Überwachung für Dateien, sondern nur ein FileSummary, also eine Zusammenfassung bisheriger Aktivitäten.
Marc Santhoff
2014-05-15 20:03:51 UTC
Permalink
Post by M. Behrendt
Post by Marc Santhoff
http://technet.microsoft.com/en-us/sysinternals/bb545046
Den ProcessMon hatte mir auch schon Herr Rompel vorgeschlagen.
Allerdings finde ich darin keine Echtzeit-Überwachung für Dateien,
sondern nur ein FileSummary, also eine Zusammenfassung bisheriger
Aktivitäten.
Dann benutze den Disk Monitor oder irgendwas, das File Handles
überwacht, ...

Die haben da wirlich für jeden Fall was, ist nur eine Frage des
Anwenders. ;)

Marc
Peter
2014-05-15 16:51:03 UTC
Permalink
Post by M. Behrendt
Hallo mal wieder!
Hat jemand eine Ahnung, ob ich mit Delphi's Hilfe herausfinden kann,
auf welche Dateien unter Windows gerade zugegriffen wird?
Nicht so einfach. Aber dafür gibt es fertige Tools, wie Sysinternal
File Monitor.
--
Peter Below
M. Behrendt
2014-05-15 18:22:48 UTC
Permalink
Nicht so einfach. Aber daf�r gibt es fertige Tools, wie Sysinternal
File Monitor.
Der FileMon ist anscheinend jetzt im ProcessMonitor intergriert. Ich habe jedoch (noch) keinen Schimmer, wie man den richtig bedient.
Hans-Peter Diettrich
2014-05-15 16:01:59 UTC
Permalink
Post by M. Behrendt
Hallo mal wieder!
Hat jemand eine Ahnung, ob ich mit Delphi's Hilfe herausfinden kann,
auf welche Dateien unter Windows gerade zugegriffen wird?
Mein System ist zeitweise etwas lahm, wobei die Festplatten kräftig
arbeiten. Nun will ich herausfinden, welche Datei(en) da bremst(en).
Wichtiger wäre es, die Prozesse/Services zu finden, die auch bei mir
[Win8] stundenlang auf der Platte herumeiern.
Post by M. Behrendt
Ich kann zwar über die Leistungsüberwachung die logischen datenträger
überwachen, aber das reicht leider nicht aus.
Hat einer eine Idee?
Leider nicht :-(

Im Prinzip kann man den Taskmanager starten und die Prozesse nach
Plattentransfers sortieren, aber dadurch wird die Anzeige unbrauchbar
(die Reihenfolge in der Liste wechselt ständig). Bei den SvcHost
Prozessen führt das auch nicht weiter :-(

DoDi
M. Behrendt
2014-05-15 18:27:05 UTC
Permalink
Wichtiger w�re es, die Prozesse/Services zu finden, die auch bei mir
[Win8] stundenlang auf der Platte herumeiern.
Ja, Win8 hat da nochmal eine Schippe Eigenleben mehr obendrauf gelegt.
Im Prinzip kann man den Taskmanager starten und die Prozesse nach
Plattentransfers sortieren
Echt, das kann man? Ich hab mir den taskmanager von Win8 noch gar nicht so genau angeschaut, standardmäßig habe ich noch WinXP drauf.

Klar, ich könnt einfach Win8 neu installieren und damit wären die Probleme und die Frage erledigt, aber wer geht schon hin und kauft sich ein neues Auto nur weil beim alten irgendwas quietscht oder vibriert? *Sarkasmus aus*
M. Behrendt
2014-05-15 18:31:44 UTC
Permalink
Ich hab dann mal nachgeforscht, das läuft irgendiwe übers System Event Logging (tracedmp und tracelog). Da gibts z.B. hier http://code.msdn.microsoft.com/System-Event-Logging-623689f4 ein Beispiel für VB .NET. Da steig ich aber noch nicht so recht durch.

(Wieso such ich nicht gleich selbst?
das Rad nciht jedesmal selbst neu erfinden ...)
M. Behrendt
2014-06-29 14:17:49 UTC
Permalink
Post by M. Behrendt
Ich hab dann mal nachgeforscht, das läuft irgendiwe übers System Event Logging (tracedmp und tracelog). Da gibts z.B. hier http://code.msdn.microsoft.com/System-Event-Logging-623689f4 ein Beispiel für VB .NET. Da steig ich aber noch nicht so recht durch.
(Wieso such ich nicht gleich selbst?
das Rad nciht jedesmal selbst neu erfinden ...)
so, ich bin da mal etwas weiter gekommen
Es gibt von Sysinternals das Progrämmsche "handle.exe"
http://technet.microsoft.com/de-de/sysinternals/bb896655
Dies zeigt die von einem (oder allen) laufenden Prozessen die geraden geöffneten Handles (z.B. Dateien).
Soweit das, was ich ja suche.

Allerdings brauche ich davon nun eine Echtzeitüberwachung.
Das geht jetzt Richtung .NET
System.Diagnostics.Process.HandleCount liefert mir die Anzahl der geöffneten Handles pro Prozess, aber nicht die Werte (Namen, Nummern, Ids) dieser handles.

Ich such schon eine Weile, werde aber nicht schlauer.

Weiss einer, wie ich nun an die Handles rankomme?

Loading...