Journal acces aux informations de la machine

Posté par .
Tags : aucun
0
12
déc.
2003
Bonjour a tous,

je souhaiterais ecrire un morceau de code en C qui recupere le type de cpu, le nombre de cpu, etc... ainsi que la quantite de ram disponible et la version de l'os.

Il existe le possibilite de lire le /proc/cpuinfo et /proc/meminfo mais ces fichiers sont la a un titre informatif et leurs formats peuvent changer d'une version du kernel a l'autre. De plus, le programme sera peut etre amene a tourner sous d'autres Unix que Linux (Tru64 et AIX) et je prefererais de loin savoir si il existe des appels standards pour obtenir ces infos plutot qu'une longue liste de #ifdef.

Merci de votre aide!
  • # Re: acces aux informations de la machine

    Posté par . Évalué à 4.

    oui libgtop2

    cette bibliothèque est assez fournie.

    la version 2.0 est stable mais contient 2/3 bugs
    la version 2.5 en développement compatible, fait partie de GNOME2.5, il faut donc composer avec ses utilisateurs.
    le truc marrant c'est que même glibtop/version.h ne contient aucune information de version, il faut avoir recours à pkg-config (voir plus bas pour le code).
    Il ne faut pas non plus se fier à la documentation (même celle générée), il vaut mieux regarder directement les entêtes C pour savoir vraiment de quoi il en retourne (exemple : la documentation référence certains champs totalement inexistants)

    je fais actuellement un petit enrobage pour python
    http://dejean.benoit.free.fr/software/glibtop/glibtop.html(...)
    • [^] # Re: acces aux informations de la machine

      Posté par . Évalué à 1.

      Merci pour l'info. Le site de glibtop a l'air mort. Tu sais si ce projet est actif?
      • [^] # Re: acces aux informations de la machine

        Posté par . Évalué à 1.

        j'ai plusieurs fois essayer de contacter les développeurs sans succès, pour signaler des bugs et demander des renseignements. non ce n'est pas actif, ou alors imperceptiblement. ce qui n'empeche cete bibliothèque de fonctionner et de permettre à gDesklets de tourner aussi bien sur Linux que sur BSD*, etc
  • # Re: acces aux informations de la machine

    Posté par . Évalué à 1.

    SNMP ?
    http://net-snmp.sourceforge.net/(...)

    Il faut qu'un serveur SNMP tourne sur les machines que tu veux interroger, ensuite avec un client ou une lib tu récupères toutes les infos sur le système.
    • [^] # Re: acces aux informations de la machine

      Posté par . Évalué à 2.

      Je vais faire le difficile ;), mais je n'ai pas envie d'activer un service supplementaire sur la machine. Le programme que je realise est lui aussi un serveur et une de ce premieres taches est de recuperer les informations sur les performances du client.

      Merci quand meme
      • [^] # Re: acces aux informations de la machine

        Posté par (page perso) . Évalué à 1.

        Une premiere chose: la philosophie unix c'est plutot decoupe en petits bouts qui feront leurs boulot bien et simplement, et ensuite assemble.

        Si le but de ton appli est de renvoyer des infos sur la machine, essaye de voire si tu ne peut pas plutot utiliser un demon snmpd qui lancera une ou plusieurs applis a ta sauce pour gerer les données non prevues par SNMP.
        • [^] # Re: acces aux informations de la machine

          Posté par . Évalué à 1.

          J'ai regarde d'un peu plus pres SNMP suite a vos conseilles. C'est effectivement interesssant. Le seul probleme est le support des machines multiprocesseurs:
          "If you want to monitor a multi-processor system, you're currently
          out of luck. We hope to address this in a future release of the agent.
          But you've got the source, so you can always have a go yourself :-)"
          Mon programme va dans un premier temps essentillement tourner sur de machines bipro. Dommage donc. Mais je vais jeter un coup d'oeil sur le code source...

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.