Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
faq:memoire [2015/04/27 07:06] – [Avoir une évolution (une courbe) au cours du temps] cicalugafaq:memoire [2016/04/25 07:41] – [Connaître le pic mémoire d'un programme] cicaluga
Ligne 1: Ligne 1:
 ===== Connaître le pic mémoire d'un programme ===== ===== Connaître le pic mémoire d'un programme =====
  
 +  * time
 Pour connaître le pic mémoire du programme on peut utiliser la commande "time" (qui fournit aussi le temps...) :  Pour connaître le pic mémoire du programme on peut utiliser la commande "time" (qui fournit aussi le temps...) : 
  
Ligne 24: Ligne 24:
 </code> </code>
  
-Ici le pic est donc ~12.4 Go+Ici le pic est donc ~12.4 Go.
  
 +  * qstat (job en cours d'exécution)
 +
 +<code>
 +qstat -j <JOB_ID> | grep usage 
 +</code>
 +
 +  * qacct (accouting SGE) - lorsque le job aura fini
 +
 +<code>
 +qacct -j <JOB_ID>
 +</code>
 +
 +Renvoie les statistiques du job, dont ''maxvmem'' qui indique le pic de consommation mémoire.
 ===== Connaître la mémoire utilisée à l'instant t au cours de l’exécution ===== ===== Connaître la mémoire utilisée à l'instant t au cours de l’exécution =====
  
Ligne 49: Ligne 62:
 où  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)  pid est à remplacer par le numéro du process qu'on veut suivre (qui est obtenu avec top ou ps, mais on peut automatiser) 
--  100 est le nombre de fois // +(ou 100 est le nombre de fois et 1 c'est le pas en secondes)
--  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/desalocations mémoire importantes)    * soit on appelle la fonction C ci-dessus à certains points du programme (là où on sait qu'il y a eu des allocations/desalocations mémoire importantes) 
   * soit on utilise des paquets déjà faits, comme ceux-ci (psutil ou ressource) en Python :    * soit on utilise des paquets déjà faits, comme ceux-ci (psutil ou ressource) en Python : 
 http://fa.bianp.net/blog/tag/memory_profiler.html  http://fa.bianp.net/blog/tag/memory_profiler.html 
   * soit on utilise des outils d'analyse plus puissants (mais plus difficiles à les apprendre), p.ex. Valgrind (avec son module "massif"   * soit on utilise des outils d'analyse plus puissants (mais plus difficiles à les apprendre), p.ex. Valgrind (avec son module "massif"
- 
-A choisir en fonction des besoins et des préférences...