Adott program lemezhasználata

Fórumok

Sziasztok!

Adott program lemezhasználatát hogyan tudom megnézni (Írás és olvasás Kb/sec) C#-ban? Rengeteg helyen néztem már megoldásokat (StackOverflow, Code Project, MSDN social, stb.) de az esetek döntő többségében az ottani fórumlakók még csak a kérdés lényegét sem tudták felfogni. A maradék esetekben pedig egy egyszerű package.függvénynév(paraméter) megadása helyett fontosnak tartották megosztani az univerzum minden kérdésére a választ.

Nem komplett megoldás, önmagában leforduló kód, vagy egy ész nélkül copy+paste-elhető kód az amire szükségem van, vagy egy belinkelt .ZIP hanem elég lenne egy package, és azon belül egy eljárás/függvény név a megfelelő paraméterekkel. Egyszerűen nem hiszem el, hogy ez ennyire megoldhatatlan dolog lenne.

Ameddig én eljutottam az a "PerformanceCounter". Ha írok egy ilyet, hogy PerformanceCounter EnPerformanszKaunterem = new PerformanceCounter("PhysicalDisk", "Disk Read Bytes/sec", "_Total"); az azért nem jó, mert ez az összes létező folyamat lemezolvasását kiírja.

Hozzászólások

var cnt = new PerformanceCounter("Process", "IO Data Bytes/sec", instanceName, true);

/proc/[PID]/io
Ebből a fájlból minden IO adatot ki lehet szedni. így néz ki:

fellegis@INF-DESKTOP:/$ cat /proc/11689/io
rchar: 188407636
wchar: 31867371
syscr: 66287
syscw: 113979
read_bytes: 2338816
write_bytes: 27152384
cancelled_write_bytes: 1933312

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.