Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
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 24/04/2007, 12h33   #1
Membre habitué
 
Inscription : août 2004
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 113
Points : 108
Points : 108
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
alex00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 13h24   #2
Membre actif
 
Inscription : mars 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 171
Points : 171
Points : 171
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 :
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.
ericduval est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h31   #3
Membre habitué
 
Inscription : août 2004
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 113
Points : 108
Points : 108
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).
alex00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 14h54   #4
Membre actif
 
Inscription : mars 2007
Messages : 171
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 171
Points : 171
Points : 171
/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
ericduval est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2007, 18h00   #5
Membre habitué
 
Inscription : août 2004
Messages : 113
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 113
Points : 108
Points : 108
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 :-(
alex00 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 15h57.


 
 
 
 
Partenaires

Hébergement Web