IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

CPU usage monitoring


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 163
    Points : 77
    Points
    77
    Par défaut CPU usage monitoring
    Bonjour,

    Je souhaiterais afficher le CPU usage en temps réel.

    Je sais qu'il existe PerformanceCounter pour obtenir la valeur à un instant t mais j'aimerais pouvoir être alerté lorsque la valeur change plutôt que d'interroger le PerformanceCounter à interval régulier.
    Est-ce qu'il existe dans le Framework une classe permettant ce type de monitoring ?

    AL2000

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Sauf erreur de ma part, s'abonner à un évènement qui annoncerait un changement de charge du CPU est une idée encore moins bonne. En effet, le taux de charge d'un CPU change tout le temps et la callback serait appelée non-stop. Je ne pense même pas qu'un tel évènement existe à cause de cela.

    Le mieux reste à mon avis un polling comme tu avais pensé. Il nous faudrait plus de détails sur l'application, à quoi c'est censé servir, etc ...
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  3. #3
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Tout à fait, je pense qu'un polling est mieux. Plus de contrôle sur les intervalles de temps,etc...
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    Le mieux reste à mon avis un polling comme tu avais pensé. Il nous faudrait plus de détails sur l'application, à quoi c'est censé servir, etc ...
    Je voudrais afficher en temps réel un ensemble de données système (CPU usage, mémoire virtuelle,...) dans une appli WPF.

    Si je comprends bien, le mieux serait d'utiliser un seul timer qui irait lire l'ensemble des données via les PerformanceCounter ?

  5. #5
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Exactement. Du moins, ne connaissant pas d'autres manières, c'est le seul moyen que je vois.

    De plus, 1 ou 2 updates/s devraient être amplement suffisant, ce qui serait beaucoup moins consommateur qu'un event qui serait raise toutes les millisecs
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 163
    Points : 77
    Points
    77
    Par défaut
    OK pour le polling
    Mais j'ai l'impression que cela reste d'être quand même gourmand
    Je me demande si passer directement par des API Win32 serait moins gourmand que utiliser les PerformanceCounter

  7. #7
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bah le meilleur moyen de savoir est de faire de tests de perf, mais honnêtement une ou deux opérations par seconde, c'est juste queudalle pour une appli.

    Par contre, ça ne m'étonnerait pas que PerformanceCounter face directement appel à l'API Win32. Je te conseille de décompiler le classe pour voir ça mais je pense que c'est directement un appel système.
    Mon blog sur les technos .NET et Agile -> http://blog.developpez.com/maximepalmisano/

Discussions similaires

  1. Réponses: 7
    Dernier message: 06/06/2013, 22h42
  2. HIGH CPU USAGE
    Par lam_zer dans le forum Oracle
    Réponses: 0
    Dernier message: 08/03/2011, 17h41
  3. [Disque Dur] CPU Usage - Performance
    Par Identifiant dans le forum Composants
    Réponses: 2
    Dernier message: 20/12/2008, 16h58
  4. CPU usage from remote linux machine
    Par snipper dans le forum Administration système
    Réponses: 1
    Dernier message: 13/01/2007, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo