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

Autres Logiciels Discussion :

Mesure des ressources utilisées par un programme


Sujet :

Autres Logiciels

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 45
    Points : 71
    Points
    71
    Par défaut Mesure des ressources utilisées par un programme
    Bonjour,
    J'ai créé un programme en C dans le cadre de mes cours et j'aimerai mesurer le nombre d'octets maximal qu'il prend en mémoire vive lors de son exécution.
    Le programme est codé sous Windows (pour l'instant, car je n'ai pas linux sur mon PC actuellement), mais sera à terme compilé sous Linux, donc je suis preneur de tout outil : que ce soit sous windows ou sous linux.
    Je peux également m'en sortir avec les processus en C, si vous me donnez les fonctions permettant d'accéder à la taille des ressources utilisées par un processus fils via son processus père, ça me va.
    Merci de votre aide

  2. #2
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 533
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 533
    Points : 6 709
    Points
    6 709
    Par défaut
    sous Linux la taille des processus est données par la commande ps en utilisant (au moins) l'option l, regarder la colonne VSZ

    mais attention :
    • la taille fourni peut être plus grande que la taille réelle car les processus grandissent par à coup (la gestion mémoire n'ajoute pas un octet manquant mais un bloc), ceci dit cela ne change pas fondamentalement les choses, on n'est a un octet prêt
    • un processus ne diminue pas de taille, c'est à dire que la taille indiquée est la plus grande de son histoire
    • lorsque des librairies dynamiques sont utilisée par plusieurs processus il ne faut les compter qu'une fois


    en dehors des librairies système ou on ne peut pas faire grand chose, utiliser dans son code des macros en remplacement de malloc et free permet de calculer la chose

    en exécutant un programme avec valgrind on obtient à la fin de l'exécution la taille mémoire encore allouée, et la mémoire perdue (memory leak) ce qui peut être très utile
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 45
    Points : 71
    Points
    71
    Par défaut
    Merci beaucoup

Discussions similaires

  1. Liste des ressources utilisées par un programme
    Par QAYS dans le forum Windows XP
    Réponses: 1
    Dernier message: 03/05/2007, 20h40
  2. Ressources utilisees par un programme
    Par liodev dans le forum Administration système
    Réponses: 7
    Dernier message: 04/04/2007, 11h40
  3. Réponses: 2
    Dernier message: 01/12/2006, 13h23
  4. Trouver le nombre de handle utiliser par un programme
    Par chuckboy dans le forum Windows
    Réponses: 1
    Dernier message: 19/12/2005, 23h38
  5. Lister les classes utilisées par un programme
    Par seawolfm dans le forum Général Java
    Réponses: 3
    Dernier message: 11/10/2005, 13h18

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