Laden...

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

Erstellt von digi333 vor 11 Jahren Letzter Beitrag vor 11 Jahren 1.020 Views
D
digi333 Themenstarter:in
290 Beiträge seit 2006
vor 11 Jahren
Wie erkennt man ob ein anderer Prozess auf die Festplatte schreibt?

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?

175 Beiträge seit 2010
vor 11 Jahren

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.

D
digi333 Themenstarter:in
290 Beiträge seit 2006
vor 11 Jahren

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

16.832 Beiträge seit 2008
vor 11 Jahren

👍 😁

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.

175 Beiträge seit 2010
vor 11 Jahren

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.