Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Wie erkennt man ob ein anderer Prozess auf die Festplatte schreibt?
digi333
myCSharp.de - Member



Dabei seit:
Beiträge: 302

Themenstarter:

Wie erkennt man ob ein anderer Prozess auf die Festplatte schreibt?

beantworten | zitieren | melden

Ich will eine Art Prozessmanager bauen, der nicht nur die Performance der CPU und andere Benchmarks ausließt sondern auch auch die auflistet welcher Prozess gerade auf der Festplatte schreibt. Mit welcher Klasse und mit welchem Befehl kann ich das machen?
private Nachricht | Beiträge des Benutzers
m.knigge
myCSharp.de - Member

Avatar #avatar-3136.png


Dabei seit:
Beiträge: 178
Herkunft: Hannover

beantworten | zitieren | melden

Zitat von digi333
Mit welcher Klasse und mit welchem Befehl kann ich das machen?

Klasse? Befehl? Also die Aktivität der Platte(n) zu monitoren ist ziemlich Low-Level, da ist nix mit Klasse und Befehl :evil: Da bist Du ziemlich nah dran an der Treiberprogrammierung....

Kannst ja mal ein Auge nehmen von DiskMon nehmen... Früher gab es von dem Tool auch den Source - ggf. findest Du den ja noch mit etwas geschicktem Googeln....

Wobei..... ah..... Ich glaube das tool hat "nur" anzeigen können, dass überhaupt etwas auf die Platte zu greift, aber leider nicht welcher Prozess....

Ob ein Prozess liest oder schreibt kann mit dem ProcessMonitor herausfinden. Früher gab es auch das Tool "FileMon" und das auch im Source....

FileMon (oder jetzt ProcessMonitor) können anzeigen, ob ein Prozess liest oder schreibt - aber das sagt ja noch lange nix darüber aus, ob der Schreib- oder Lesezugriff auch wirklich die Platte trifft (kann ja auch erst in bzw aus dem Cache gelesen/geschrieben werden)....


Bye,
Michael
Debuggers don't remove Bugs, they only show them in Slow-Motion.
private Nachricht | Beiträge des Benutzers
digi333
myCSharp.de - Member



Dabei seit:
Beiträge: 302

Themenstarter:

beantworten | zitieren | melden

Wenn der Taskmanager die Festplattenaktivität ausgeben kann, muss es doch einen C# Befehl dafür geben. Genau den such ich.
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15827
Herkunft: BW

beantworten | zitieren | melden



In C# ist nur ein Bruchteil aller Möglichkeiten abgdeckt. Das meiste, was das Betriebssystem betrifft, muss man sowieso über PInvoke lösen. Hier wird es mit ganz großer Sicherheit keinen "einfachen" Befehl geben.
private Nachricht | Beiträge des Benutzers
m.knigge
myCSharp.de - Member

Avatar #avatar-3136.png


Dabei seit:
Beiträge: 178
Herkunft: Hannover

beantworten | zitieren | melden

Zitat von digi333
Wenn der Taskmanager die Festplattenaktivität ausgeben kann, muss es doch einen C# Befehl dafür geben. Genau den such ich.

Du willst also die "IO-Requests" ermitteln - ob dieser die (bzw. überhaupt eine --> RAM-Disk) Platte *wirklich* erreicht ist Dir also Wurscht? Dann hilft Dir ggf. (bin mir über den Umfang nicht ganz sicher) das Projekt Performance Counter Helper weiter.... Ich meine die Performance Counter beinhalten auch die IO-Requests.... bin mir aber gerade nicht 100%ig sicher....

Bye,
Michael
Debuggers don't remove Bugs, they only show them in Slow-Motion.
private Nachricht | Beiträge des Benutzers