Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteProchaine révisionLes deux révisions suivantes | ||
faq:memoire [2015/04/27 07:02] – cicaluga | faq:memoire [2018/01/24 10:18] – [Connaître le pic mémoire d'un programme] ltaulell | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ===== Connaître le pic mémoire d'un programme ===== | ||
- | |||
- | |||
- | Pour connaître le pic mémoire du programme on peut utiliser la commande " | ||
- | |||
- | <code bash> | ||
- | |||
- | / | ||
- | |||
- | </ | ||
- | |||
- | en regardant le champ " | ||
- | |||
- | Par exemple, pour mon_programme : | ||
- | |||
- | <code bash> | ||
- | |||
- | / | ||
- | |||
- | ... | ||
- | Maximum resident set size (kbytes): 12465200 | ||
- | ... | ||
- | |||
- | </ | ||
- | |||
- | Ici le pic est donc ~12.4 Go | ||
===== Connaître la mémoire utilisée à l' | ===== Connaître la mémoire utilisée à l' | ||
Ligne 37: | Ligne 11: | ||
+ | ===== Avoir une évolution (une courbe) au cours du temps ===== | ||
- | + | * soit on se fait notre propre script pour lire régulièrement les infos de / | |
- | ________ | + | * soit on appelle top en background |
- | Pour connaître le pic mémoire du programme | + | |
<code bash> | <code bash> | ||
- | / | + | top -b -n 100 -d 1 -p pid > output |
- | + | ||
- | </ | + | |
- | + | ||
- | en regardant le champ " | + | |
- | + | ||
- | Par exemple, pour mon_programme : | + | |
- | + | ||
- | <code bash> | + | |
- | + | ||
- | / | + | |
- | + | ||
- | ... | + | |
- | Maximum resident set size (kbytes): 12465200 | + | |
- | ... | + | |
</ | </ | ||
- | Ici le pic est donc ~12.4 Go | + | où |
+ | pid est à remplacer par le numéro du process qu'on veut suivre (qui est obtenu avec top ou ps, mais on peut automatiser) | ||
+ | (ou 100 est le nombre de fois et 1 c'est le pas en secondes) | ||
+ | * soit on appelle la fonction C ci-dessus à certains points du programme (là où on sait qu'il y a eu des allocations/ | ||
+ | * soit on utilise des paquets déjà faits, comme ceux-ci (psutil ou ressource) en Python : | ||
+ | http:// | ||
+ | * soit on utilise des outils d' | ||