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

Linux Discussion :

[c++] Connaitre l'état de la RAM


Sujet :

Linux

  1. #1
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut [c++] Connaitre l'état de la RAM
    Bonjour,

    En temps que codeur sous windows je ne connais pas du tout les méthodes linux pour connaitre l'état de la mémoire à un instant donné.

    J'ai un programme gourmand, et je cherche à coder un warning en cas de dépassement d'un certain seuil de mémoire restante...

    Une petite idée pour m'aider ? (si je pouvais eviter d'appeller une fonction shell...)

    Même question pour connaitre le nombre de processeurs/cores ?

    Juste au cas, sous windows ce sont :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GetSystemInfo()
    GlobalMemoryStatusEx()
    Merci :-)

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Bonjour, pour la mémoire, il faut se taper le parsing du fichier /proc/meminfo, et pour le nombre de coeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sysconf(_SC_NPROCESSORS_ONLN);
    Cordialement.

  3. #3
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Bonjour,

    J'ai trouvé dans de la doc ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int sysinfo(struct sysinfo *info);
    Qui semble combler mes besoins sur la mémoire...

    Je cherche qqch d'equivalent sur le nombre de proc/core ...

    Merci.


    Edit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    long numCPUs = sysconf(_SC_NPROCESSORS_ONLN)
    Fini :-)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 20
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par Ange_blond Voir le message
    Bonjour,

    J'ai trouvé dans de la doc ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     int sysinfo(struct sysinfo *info);
    Qui semble combler mes besoins sur la mémoire...
    Avec cette solution tu n'auras qu'un aperçu globale de la mémoire de la machine, tu pourrais éventuellement affiner ta gestion, avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    /proc/self/statuts
    OU
    /proc/self/stat (si la version verbose te gène)
    Ces deux fichiers donnent des statistiques sur le programme (self) appelant. /proc/self étant un lien symbolique mis à jour par le système en fonction du processus appelant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fopen("/proc/self/stat","r");
    À toi ensuite de lire et parser le fichier en fonction de tes besoins

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

Discussions similaires

  1. Comment connaitre l'état du recorset?
    Par tribaleur dans le forum ASP
    Réponses: 4
    Dernier message: 01/06/2006, 14h31
  2. SQL : Procédure stockée - connaitre l'état de la procédure ?
    Par caviar dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/03/2006, 14h13
  3. CButton, connaitre son état (enable ou disable)
    Par mr.saucisse dans le forum MFC
    Réponses: 5
    Dernier message: 27/02/2006, 18h01
  4. [SAX] Parser SAX : connaitre l'état d'avancement
    Par GLA31 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 26/10/2004, 09h08
  5. Connaitre la taille de la RAM
    Par dway dans le forum Assembleur
    Réponses: 23
    Dernier message: 15/09/2004, 10h05

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