2009-11-18 8 views
0

J'ai trouvé plusieurs façons de retrouver l'utilisation du processeur et de la RAM de au sein de un processus, en C#. J'aimerais obtenir ces informations pour un programme externe (comme fournir son PID).Mesure de l'utilisation d'un processeur et d'une mémoire de processus

Y at-il quelque chose dans le framework .NET qui peut m'aider?

Merci

+0

vous voulez dire, comme le passage d'un PID comme argument? – jasonco

+0

cochez cette case http://stackoverflow.com/questions/278071/how-to-get-the-cpu-usage-c Vous pouvez également utiliser WMI (instrumentation de gestion des fenêtres) pour l'utilisation des données. Vérifiez la classe Win32_process http://msdn.microsoft.com/en-us/library/aa394372(VS.85).aspx Aussi, vous pouvez aller pour les compteurs de performance (vous code nécessitent des privilèges d'administrateur) Regardez dans WMI. – PRR

Répondre

3

vous pouvez utiliser process classe

+0

L'utilisation de la mémoire est un peu difficile car cela signifie diverses choses – Tinku

1

Utilisez Performance Monitor et add counters for specific processes. Si vous devez analyser les résultats, vous pouvez les écrire dans un performance log.

+0

J'ai besoin de cela à des fins de journalisation, donc j'ai besoin d'obtenir les données dans un format que je peux écrire, stocker et analyser. – pistacchio

+0

Vous pouvez enregistrer dans un journal de performances à partir du moniteur de performances: http://technet.microsoft.com/fr-fr/library/cc721865.aspx –

0

Vous pouvez héberger un PowerShell RunSpace et y appeler des éléments - il y a beaucoup plus de choses natives traitant de ce genre de choses.

0

Vous pouvez passer une instance dans un constructeur de System.Diagnostics.PerformanceCounter - cela devrait vous permettre de spécifier l'instance de processus que vous souhaitez surveiller