Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/04/2011, 12h29   #1
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 207
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 207
Points : 37
Points : 37
Par défaut occupation mémoire sous linux

Bonjour,

J'ai un programme exécutable (en c++) sous linux, je voudrai savoir l'occupation mémoire.

Sachant que je n'ai pas le code source de ce programme.

Quelle commande dois-je taper?

merci
nina2007 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/04/2011, 12h32   #2
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 464
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 464
Points : 9 585
Points : 9 585
Bonjour,

top te permet de voir des informations sur les processus en cours.
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 14/04/2011, 12h46   #3
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 207
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 207
Points : 37
Points : 37
merci pour votre réponse, mais la valeur donnée par la commande top change tout au long de l'exécution du programme. Quelle valeur prendre? la plus grande je suppose???
et puis, parfois mon programme s'arrete par manque de mémoire donc je ne sais pas il s'arrete avec quelle valeur?

y-a t-il d'autre solution?
merci
nina2007 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 14/04/2011, 21h35   #4
Membre chevronné

 
Avatar de D[r]eadLock
 
Inscription : mai 2002
Messages : 504
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 504
Points : 622
Points : 622
Sinon, regarde du coté de ps, genre
Code :
ps h -o vsize --pid <pid>
. h pour ne pas afficher le header (VSZ dans ce cas), -o vsize pour afficher la mémoire virtuelle (i.e. que le programme peut tapper), et <pid> étant le pid de ton programme (que tu peux trouver avec un `pgrep <nomprog>` s'il est suffisamment représentatif).
Du coup, avec un petit script genre
Code :
while `pgrep <ton_prog>`; do ps h -o vsize --pid `pgrep <ton_prog>` >> /tmp/foo; sleep 0.1 done
Tu verras l'évolution de la consommation mémoire toutes les 0.1 secondes.
__________________
1)Avant de poster, merci de lire les règles. 2)Utiliser [code] [/code] pour quoter le code ! 3)Conseils pour le forum C [a lire en entier!]
D[r]eadLock est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 15/04/2011, 10h56   #5
Membre confirmé
 
Avatar de golden boy
 
Homme Enzo
Lycéen
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Enzo
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
Sinon tu peux utiliser un débugger (si bien-sûr l'exécutable est de toi ou que sa licence te le permet, pour rester dans un cadre légal) pour analyser l'allocation dynamique de mémoire du programme en question. Pour ce qui est de la mémoire, on dit beaucoup de bien du debugger Valgrind.
__________________
Real ASM
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 15/04/2011, 17h10   #6
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 207
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 207
Points : 37
Points : 37
Merci pour vos réponses...effectivement je n'ai pas le code source du programme

donc une autre question : avec top ou vs, j'ai l'ocuppation mémoire en pourcentage,
par exemple 0.2 (20%) comme je ne connais pas la valeur de ma mémoire je ne sais pas le 20% représente quelle valeur? comment puis-je coonnaite la taille de ma memoire?

merci
nina2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 18h42   #7
Membre confirmé
 
Avatar de golden boy
 
Homme Enzo
Lycéen
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Enzo
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
Tu peux faire la commande

La taille de la RAM c'est la première info, à total et Mem:
__________________
Real ASM
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 21h43   #8
Membre chevronné

 
Avatar de D[r]eadLock
 
Inscription : mai 2002
Messages : 504
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : mai 2002
Messages : 504
Points : 622
Points : 622
Citation:
Envoyé par nina2007 Voir le message
avec top ou vs, j'ai l'occupation mémoire en pourcentage,
Si par vs tu entends vsize comme je l'ai proposé avec ps, non; ce n'est pas un pourcentage, mais une taille en KiB ou kB.
Et pour top, les premières colonnes montre directement la taille (VIRT, RES, SHR).
__________________
1)Avant de poster, merci de lire les règles. 2)Utiliser [code] [/code] pour quoter le code ! 3)Conseils pour le forum C [a lire en entier!]
D[r]eadLock est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 22h00   #9
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 207
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 207
Points : 37
Points : 37
avec free, j'ai ces lignes là:

total used free shared buffers cached
Mem: 2060112 520860 1539252 0 27980 159388
-/+ buffers/cache: 333492 1726620
Swap: 1951736 218864 1732872


donc la RAM est la valeur donnée par la ligne Mem dans la colonne used? c'est à dire
2060112, est-ce bien ça? 2 GO?
nina2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 22h01   #10
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 207
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 207
Points : 37
Points : 37
oups, je voulais dire Mem et colonne total
nina2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 22h03   #11
Nouveau Membre du Club
 
Inscription : août 2007
Messages : 207
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 207
Points : 37
Points : 37
D[r]eadLock, vous m'avez dit

Citation:

Et pour top, les premières colonnes montre directement la taille (VIRT, RES, SHR).

pouvez-vous me dire chaque colonne montre quoi?
merci
nina2007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2011, 08h37   #12
Membre confirmé
 
Avatar de golden boy
 
Homme Enzo
Lycéen
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Enzo
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
En fait, j'ai oublié de le préciser, désolé...
Pour free, tu peux mettre en option -b pour afficher en bytes, l'option -k pour les kilobytes ou l'option -m pour l'avoir en megabytes.
__________________
Real ASM
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h07.


 
 
 
 
Partenaires

Hébergement Web