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

Langage PHP Discussion :

[Système] Connaitre la charge CPU de son serveur


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut [Système] Connaitre la charge CPU de son serveur
    Bonjour,

    En surfant ce matin sur un site j'ai remarquer qu'on pouvais y voir des caractèristiques plutot intéressantes :

    - Charge CPU serveur : 13% user, 4% system : paisible.
    - load average : 17% : paisible.

    J'ai trouvé que ca pourrais etre utile pour mon projet dans le cas ou il y a une surcharge du serveur ( if ($surchage > 90) => action )) et aussi pour voir la "consomation" à un moment donner.

    J'ai donc fait des recherches sur ce forum mais je n'ai rien trouvé ( j'ai mal chercher peut-être ? ).

    Donc voici mes questions :
    - Existe t'il une fonction php qui permet d'obtenir la charge CPU du server ( et le reste si possible )
    - Existe t'il une variable d'environnement qui stock ces informations ? ( maybe )
    - Existe t'il une méthode de calcul de ces chiffres la ?


    Voila, je vous dit merci d'avance

  2. #2
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    Citation Envoyé par fabseven
    Bonjour,

    En surfant ce matin sur un site j'ai remarquer qu'on pouvais y voir des caractèristiques plutot intéressantes :

    - Charge CPU serveur : 13% user, 4% system : paisible.
    - load average : 17% : paisible.

    J'ai trouvé que ca pourrais etre utile pour mon projet dans le cas ou il y a une surcharge du serveur ( if ($surchage > 90) => action )) et aussi pour voir la "consomation" à un moment donner.

    J'ai donc fait des recherches sur ce forum mais je n'ai rien trouvé ( j'ai mal chercher peut-être ? ).

    Donc voici mes questions :
    - Existe t'il une fonction php qui permet d'obtenir la charge CPU du server ( et le reste si possible )
    - Existe t'il une variable d'environnement qui stock ces informations ? ( maybe )
    - Existe t'il une méthode de calcul de ces chiffres la ?


    Voila, je vous dit merci d'avance
    Php en lui même ne peut pas avoir ce genre d'information. Il doit y avoir une application annexe sous une autre technologie qui fournit l'information.

  3. #3
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Par défaut
    Salut

    Jete un oeil sur Big Brother www.bb4.org

    sahid

  4. #4
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 69
    Par défaut
    Salut,

    Est-ce que ceci ne suffirait pas... ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $top = shell_exec('top -n 1'); ?>
    Suffit ensuite de récupérer la bonne ligne et la traiter...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 38
    Par défaut
    Citation Envoyé par PseudoCoder
    Salut,

    Est-ce que ceci ne suffirait pas... ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $top = shell_exec('top -n 1'); ?>
    Suffit ensuite de récupérer la bonne ligne et la traiter...


    J'ai essayer cette solution avec un petit script maison :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
     
    $top = shell_exec('top -n 1');
    if($top == NULL ) echo "null";
    else echo "non null <b>".$top."</b><br>";
     
    if($top == -1) echo "top = -1";
     
    ?>
    résultat : non null

    La le problème c'est que je n'arrive pas à utiliser la variable $top que me retourne la fonction shell_exec()...le script m'indique bien que la variable est différent de NULL mais n'affiche RIEN avec echo ( pareil si j'utilise la fonction print pour afficher ) même pas un ressource handler #XX ou une string toute bête ( avec laquelle je pourrais travailler )

    Je suis aller voir sur le site de BB mais j'ai pas eu la certitude que je pourrais avoir le CPU usage sur le site....merci quand même

  6. #6
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 69
    Par défaut
    Arf... Avec un var_dump($top) j'obtiens ça :
    C'est cool...

    Par contre, j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $top = shell_exec('top -b -n 1');
    Et j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    string(5300) "top - 23:14:58 up  8:30,  1 user,  load average: 0.21, 0.28, 0.21
    Tasks:  60 total,   2 running,  58 sleeping,   0 stopped,   0 zombie
    Cpu(s):  9.8% us,  0.6% sy,  0.0% ni, 89.3% id,  0.2% wa,  0.0% hi,  0.0% si
    Mem:    451844k total,   448968k used,     2876k free,    19272k buffers
    Swap:  1060248k total,        0k used,  1060248k free,   239528k cached
     
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
     3295 root      16   0  112m  41m  76m S  9.9  9.5  19:43.15 Xorg               
     3463 orphyx    15   0  149m  79m  36m S  6.0 18.0  28:04.83 firefox-bin        
        1 root      16   0  1864  636 1660 S  0.0  0.1   0:00.54 init               
        2 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0        
        3 root       5 -10     0    0    0 S  0.0  0.0   0:00.62 events/0           
        4 root       6 -10     0    0    0 S  0.0  0.0   0:00.00 khelper            
        5 root       5 -10     0    0    0 S  0.0  0.0   0:00.00 kacpid
    Et encore plein d'autres lignes...

    En gros, ça marche, comme ça. Suffit de récupérer la ligne qui commence par Cpu

    Bon courage pour le traitement ^^

Discussions similaires

  1. [redhat] Comment connaitre les caracteristique de son serveur
    Par pierrot10 dans le forum Administration système
    Réponses: 2
    Dernier message: 07/11/2008, 12h58
  2. Pb Serveur Hyperfile / Charge CPU MantaManager
    Par kewyn dans le forum HyperFileSQL
    Réponses: 2
    Dernier message: 05/03/2008, 10h30
  3. [Système]charge CPU
    Par dehbi dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 04/08/2005, 11h58
  4. Charge CPU avec prog opengl + win32
    Par TibobiT dans le forum MFC
    Réponses: 2
    Dernier message: 12/05/2004, 19h26
  5. Sécuriser son serveur Apache sous Linux
    Par rolkA dans le forum Sécurité
    Réponses: 6
    Dernier message: 01/12/2003, 15h16

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