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

Administration système Discussion :

taille d'un process


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Par défaut taille d'un process
    bonjour,

    je cherche a obtenir la taille memoire d'un process, a priori sans utiliser ni top ni ps.

    mon besoins precis est de lancer beaucoup de petits process (duree d'execution < 1 seconde, d'ou le fait d'eviter top et ps) - des programmes de tests - et de comparer leurs executions (en occupation memoire, et si possible en temps d'execution aussi).

    Existe-t-il un moyen deja existant ?
    en ce moment, j'essaye de lancer le programme avec strace, puis de calculer l'encombrement a partir des brk et mmap.

    Pour le temps d'execution, j'utilise date avant et apres... avec le desavantage que ce n'est pas du temps cpu.

    Alex

  2. #2
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    Bonjour,

    Tu ne précises pas l'OS que tu utilises.
    Sur un Linux 2.4 et + tu peux directement consulter
    /proc/<pid> (ou pid est le PID de ton process à mesurer)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    cat /proc/<pid>/status
    te donne accès à différentes informations entre autre :

    VmSize: Taille (ko) de la mémoire virtuelle
    VmLck: Taille (ko) de la partie verrouillée en MC de la mémoire virtuelle
    VmRSS: Taille (ko) résidente (en MC) de la mémoire virtuelle
    VmData: Taille (ko) en mémoire virtuelle du segment de données.
    VmStk: Taille (ko) en mémoire virtuelle de la pile.
    VmExe: Taille (ko) en mémoire virtuelle de l'exécutable spécifique.
    VmLib: Taille (ko) en mémoire virtuelle des libs.

  3. #3
    Membre éprouvé
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Par défaut
    j'utilise un linux redhat 2.4.21-9.ELsmp (RH-WS_3.0.U1).

    Quelle est la frequence de rafraichissement des fichiers /proc/<pid> ?

    hormis un format de lecture plus facile, je ne vois pas la difference avec ps ou top: l'information recueillie depend du moment ou on fait l'echantillonage, on obtient une valeur approximative (je cherche a calculer la valeur max, si possible sans faire d'attente active).

  4. #4
    Membre expérimenté
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2007
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2007
    Messages : 199
    Par défaut
    /proc et /sys, c'est une vue temps réel de ton système.
    Dans ta demande tu voulais :

    "la taille memoire d'un process, a priori sans utiliser ni top ni ps."
    "temps d'execution aussi"

    Sans top ni ps le plus court chemin est de regarder directement dans /proc et /sys.
    Je ne t'ai fourni que les indications du fichier status, il existe plein d'autres infos attachées à ton process que tu peux exploiter, à toi d'adapter ces informations dans un shell, qui peut d'ailleurs être le shell que tu executes toutes les secondes.

    Pour le time, il suffit de lancer avant ton shell la command : time tonshell.sh

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2004
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 113
    Par défaut
    merci beaucoup pour les infos

    j'ai mon bonheur et mon malheur dans time de tcsh (version GNU 1.7) :

    il trace aussi la memoire (memory, io, pagefault, swap) :-)
    mais pas sur toutes les plateformes, pas sur la mienne :-(

Discussions similaires

  1. Httpd- taille moyenne process ~100MB !
    Par wongounay dans le forum Apache
    Réponses: 1
    Dernier message: 22/01/2014, 11h21
  2. Fuite memoire et taille de la memoire du process
    Par ricky78 dans le forum MFC
    Réponses: 4
    Dernier message: 01/12/2008, 17h02
  3. Connaitre la taille d'un process en mémoire
    Par davels dans le forum Delphi
    Réponses: 3
    Dernier message: 16/05/2007, 17h08
  4. taille maximale d'une base de donnée paradox
    Par Anonymous dans le forum Paradox
    Réponses: 5
    Dernier message: 14/02/2004, 17h39

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