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 :

Monitoring CPU Linux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut Monitoring CPU Linux
    Salut à tous,

    j'ai dans une appli un thread qui va monitorer le niveau de CPU à interval régulier.
    Je récupère l'info dans le fichier /proc/stat.

    Ce qui me gène la dedans c'est que je vais aller ouvrir ce fichier toutes les secondes ce qui ne me semble pas approprié en terme d'accès disque (31 millions d'accès disque sur une année juste pour le CPu ...)

    D'où ma question , y'a t'il une solution n'imposant pas l'accès à un fichier et qui reste précise ?

    Merci
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Pour commencer, ce n'est pas un vrai fichier, mais un "truc qui se comporte comme". Exactement comme /dev/null.

    Sinon regarde ce que font ps ou top.

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    D'accord. Est ce que ca veux dire que ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    file*=*fopen("/proc/stat",*"r");
    fscanf(file,*"cpu*%llu*%llu*%llu*%llu",&totalUser,&totalUserLow,&totalSys,&totalIdle);
    fclose(file);
    Ne fait pas d'accès disque mais un accès mémoire puisque à priori /proc est un filesystem virtuel ?
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre Expert
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Par défaut
    Pas d'accès disque, mais un appel système. Tu pourrais tout aussi bien faire l'appel toi-même afin d'avoir plus de contrôle sur ce que tu récupères et notamment pouvoir gérer les cas d'erreur.

  5. #5
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    Citation Envoyé par leternel Voir le message
    Sinon regarde ce que font ps ou top.
    ils font pareil en fait, ils vont taper dans /proc, le problème étant que la charge CPU n'est pas instantanée, c'est une différence entre deux relevés, du coup ps affiche une utilisation CPU moyennement correcte tandis que top n'affichera ses premiers résultats qu'1s après son lancement environet nécessite de tourner en continu pour afficher une utilisation correcte

    Citation Envoyé par grunk Voir le message
    Est ce que ca veux dire que ce code (...) Ne fait pas d'accès disque mais un accès mémoire puisque à priori /proc est un filesystem virtuel ?
    c'est tout à fait ça, /proc est un filesystem exporté par le noyau directement, en revanche comme dit prgasp77 ça fait quand même des appels système évidemment

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Monitorer CPU via 4D
    Par navid4D dans le forum 4D
    Réponses: 6
    Dernier message: 29/07/2010, 09h52
  2. Monitoring CPU ? Des outils ?
    Par MadCat34 dans le forum Outils
    Réponses: 6
    Dernier message: 06/11/2009, 18h46
  3. Monitoring Server Linux
    Par Run_974 dans le forum Administration système
    Réponses: 5
    Dernier message: 02/05/2007, 18h48
  4. [CPU Ventirad] CPUFAN et Linux
    Par kromartien dans le forum Composants
    Réponses: 15
    Dernier message: 22/04/2007, 23h11
  5. 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