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

Shell et commandes GNU Discussion :

Connaître la mémoire utilisée par un programme


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 317
    Points : 65
    Points
    65
    Par défaut Connaître la mémoire utilisée par un programme
    Bonjour,
    J'ai lancé un script python sur un serveur de calcul. Mais je veux connaitre la taille mémoire utilisée à la fin du script.
    Est-ce qu'il y a une commande qu'on peut lancer avec le script?
    par exemple:
    si je veux connaitre le temps d'éxécution j'utilise la commande time.
    time mon_prog.py .....

    est-ce qu'il y a une commande comme ça?

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 549
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 549
    Points : 19 378
    Points
    19 378
    Par défaut
    Bonjour,

    si cela existe, je ne m'en souviens pas.

    il y a un fichier sous /proc qui contient les statistiques d'un exécutable en cours.
    cf. man proc
    /stat$
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par mido1951 Voir le message
    J'ai lancé un script python sur un serveur de calcul. Mais je veux connaitre la taille mémoire utilisée à la fin du script.
    Est-ce qu'il y a une commande qu'on peut lancer avec le script?
    Je ne connais pas de telle commande.
    Mais, tu peux essayer de la simuler en utilisant:
    • un shell pour englober la commande python et un script espionnant cette commande
    • & pour mettre la commande python en tâche de fond (background)
    • $! pour récupérer le numéro du process qui exécute la commande python et le passer à l'espion
    • ps | awk (ou procfs si c'est disponible sur ton système) pour récupérer en boucle la taille mémoire (RSS) occupée par ledit process et prendre le maximum (jusqu'à ce que le process disparaisse)


    C'est pas immédiat, ni rigoureux, mais jouable (avis aux amateurs!)

  4. #4
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /bin/ps -u USER -o cmd,pmem --no-headers
    qu'on peut filtrer à coup de grep.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  5. #5
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    si tu lances:
    ps aux|grep "monprog.py" avant de quitter le programme, tu auras les infos que tu cherches

    (Rem: tu peux optimiser le ps)
    Si la réponse vous a aidé, pensez à cliquer sur +1

  6. #6
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 277
    Points : 12 722
    Points
    12 722
    Par défaut
    Bonjour,

    Regarde du coté de la commande time (pas la built-in, celle qui se trouve par exemple dans /usr/bin ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    /usr/bin/time --verbose ls >/dev/null
            Command being timed: "ls"
            User time (seconds): 0.00
            System time (seconds): 0.00
            Percent of CPU this job got: 0%
            Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00
            Average shared text size (kbytes): 0
            Average unshared data size (kbytes): 0
            Average stack size (kbytes): 0
            Average total size (kbytes): 0
            Maximum resident set size (kbytes): 3616
            Average resident set size (kbytes): 0
            Major (requiring I/O) page faults: 0
            Minor (reclaiming a frame) page faults: 269
            Voluntary context switches: 1
            Involuntary context switches: 1
            Swaps: 0
            File system inputs: 0
            File system outputs: 0
            Socket messages sent: 0
            Socket messages received: 0
            Signals delivered: 0
            Page size (bytes): 4096
            Exit status: 0
    Cordialement.

Discussions similaires

  1. Compresser la mémoire utilisée par un programme
    Par RedArrrow dans le forum Débuter
    Réponses: 17
    Dernier message: 05/05/2015, 17h08
  2. Mémoire utilisée par un programme c++
    Par xavierdestev dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/01/2014, 21h13
  3. Réponses: 2
    Dernier message: 01/10/2009, 11h00
  4. Mémoire utilisée par un programme
    Par Deamon dans le forum Général VBA
    Réponses: 2
    Dernier message: 13/05/2009, 11h41
  5. Comment connaître la mémoire utilisée par un processus ?
    Par David dans le forum API, COM et SDKs
    Réponses: 11
    Dernier message: 17/01/2008, 15h01

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