Sto monitorando più istanze della stessa applicazione e ho bisogno di ottenere l'utilizzo della memoria e della CPU di entrambi i processi. Tuttavia, non riesco a capire un modo per utilizzare il contatore delle prestazioni e sapere quale risultato è per quale processo. Ho visto che posso aggiungere # 1 e così alla fine del nome per ottenere risultati per ciascuno, ma questo non mi dice quale è per quale processo.per ID processo anziché nome?
Come è possibile determinare ProcessId o passare l'ID di processo al contatore per ottenere il risultato per ogni processo con lo stesso nome?
PerformanceCounterCPU.CategoryName = "Process";
PerformanceCounterCPU.CounterName = "% Processor Time";
PerformanceCounterCPU.InstanceName = proc.ProcessHandle.ProcessName;
PerformanceCounterMemory.CategoryName = "Process";
PerformanceCounterMemory.CounterName = "Working Set - Private";
PerformanceCounterMemory.InstanceName = proc.ProcessHandle.ProcessName;
Wow! Ho affrontato ** esattamente ** lo stesso numero 2 anni fa, e non ho trovato alcuna risposta in quel momento ... Aspetto troppo la risposta ora;) – ken2k
Grazie Ben. sfortunatamente i problemi che ho posto in passato sono stati rari e non sono stati risolti. Ho finito per arretrare dall'usare i metodi che erano in quelle domande. – JeremyK
Ken, la risposta qui sotto ha fatto il trucco – JeremyK