Retourner aux forums || Retourner au forum general.cherche-logiciel
general.cherche-logiciel : Trouver l'espace mémoire maximal alloué
Posté par jko () le 22 août 2005
Cher forum,
Je cherche un moyen de connaître l'occupation maximale d'un programme au cours de toute son exécution.
gnu time semble capable de cela mais uniquement sous bsd [1] (j'ai testé vite fait, ça semble marcher à peu près), mais existe-t-il autre chose, notement sous linux ?
Merci à tous
[1] time utilise wait3(), qui utilise getrusage
Je cite 'man getrusage' :
struct rusage {
struct timeval ru_utime; /* Temps utilisateur écoulé */
struct timeval ru_stime; /* Temps système écoulé */
long ru_maxrss; /* Taille résidente maximale */
long ru_ixrss; /* Taille de mémoire partagée */
long ru_idrss; /* Taille des données non partagées */
long ru_isrss; /* Taille de pile */
long ru_minflt; /* Demandes de pages */
long ru_majflt; /* Nombre de fautes de pages */
long ru_nswap; /* Nombre de swaps */
long ru_inblock; /* Nombre de lectures de blocs */
long ru_oublock; /* Nombre d'écritures de blocs */
long ru_msgsnd; /* Nombre de messages émis */
long ru_msgrcv; /* Nombre de messages reçus */
long ru_nsignals; /* Nombre de signaux reçus */
long ru_nvcsw; /* Chgmnts de contexte volontaires */
long ru_nivcsw; /* Chgmnts de contexte involontaires*/
};
Tous les champs ne sont pas significatifs sous Linux. Actuellement (Linux 2.4) seuls les champs ru_utime, ru_stime, ru_minflt, ru_majflt, et ru_nswap sont remplis.
( d'ailleur ça serait bien qu'on sache ce qu'il en est en 2.6 )
Je cherche un moyen de connaître l'occupation maximale d'un programme au cours de toute son exécution.
gnu time semble capable de cela mais uniquement sous bsd [1] (j'ai testé vite fait, ça semble marcher à peu près), mais existe-t-il autre chose, notement sous linux ?
Merci à tous
[1] time utilise wait3(), qui utilise getrusage
Je cite 'man getrusage' :
struct rusage {
struct timeval ru_utime; /* Temps utilisateur écoulé */
struct timeval ru_stime; /* Temps système écoulé */
long ru_maxrss; /* Taille résidente maximale */
long ru_ixrss; /* Taille de mémoire partagée */
long ru_idrss; /* Taille des données non partagées */
long ru_isrss; /* Taille de pile */
long ru_minflt; /* Demandes de pages */
long ru_majflt; /* Nombre de fautes de pages */
long ru_nswap; /* Nombre de swaps */
long ru_inblock; /* Nombre de lectures de blocs */
long ru_oublock; /* Nombre d'écritures de blocs */
long ru_msgsnd; /* Nombre de messages émis */
long ru_msgrcv; /* Nombre de messages reçus */
long ru_nsignals; /* Nombre de signaux reçus */
long ru_nvcsw; /* Chgmnts de contexte volontaires */
long ru_nivcsw; /* Chgmnts de contexte involontaires*/
};
Tous les champs ne sont pas significatifs sous Linux. Actuellement (Linux 2.4) seuls les champs ru_utime, ru_stime, ru_minflt, ru_majflt, et ru_nswap sont remplis.
( d'ailleur ça serait bien qu'on sache ce qu'il en est en 2.6 )
> Lire le message (1 commentaire, moyenne: 6).
2.6
Posté par
Pascal Terjan (Jabber id, page perso, ) le 23/08/2005 à 05:40. (lien). Évalué à 6.
Extrait de la page de man en anglais « In linux 2.4 only the fields ru_utime, ru_stime, ru_minflt, and ru_majflt are maintained. Since Linux 2.6, ru_nvcsw and ru_nivcsw are also maintained. »
Revenir en haut de page || Retourner aux forums || Retourner au forum general.cherche-logiciel



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.