|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 207 ![]() |
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
|
|
|
10
|
|
|
#2 |
![]() ![]() R&D en systemes informatiques bas niveau Unix/Linux Inscription : mai 2004 Messages : 5 464 ![]() |
Bonjour,
top te permet de voir des informations sur les processus en cours. |
|
|
20
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 207 ![]() |
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 |
|
|
10
|
|
|
#4 |
|
Membre chevronné
![]() ![]() Inscription : mai 2002 Messages : 504 ![]() |
Sinon, regarde du coté de ps, genre . 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
__________________
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!] |
|
|
20
|
|
|
#5 |
|
Membre confirmé
![]() Enzo Lycéen Inscription : novembre 2010 Messages : 120 ![]() |
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.
|
|
01
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 207 ![]() |
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 |
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Enzo Lycéen Inscription : novembre 2010 Messages : 120 ![]() |
Tu peux faire la commande
La taille de la RAM c'est la première info, à total et Mem: |
|
00
|
|
|
#8 |
|
Membre chevronné
![]() ![]() Inscription : mai 2002 Messages : 504 ![]() |
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!] |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 207 ![]() |
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? |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 207 ![]() |
oups, je voulais dire Mem et colonne total
|
|
|
00
|
|
|
#11 | |
|
Nouveau Membre du Club
![]() Inscription : août 2007 Messages : 207 ![]() |
D[r]eadLock, vous m'avez dit
Citation:
pouvez-vous me dire chaque colonne montre quoi? merci |
|
|
|
00
|
|
|
#12 |
|
Membre confirmé
![]() Enzo Lycéen Inscription : novembre 2010 Messages : 120 ![]() |
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. |
|
00
|
Copyright © 2000-2012 - www.developpez.com