J'ai une application WPF qui affiche entre autres beaucoup d'images, grandes et petites. Mon problème est que l'application utilise beaucoup de mémoire et je n'arrive pas à comprendre d'où elle vient.où est passé mon souvenir? grand nombre d'octets privés
Le scénario, en insistant sur l'application certains je reçois ce graphique dans perfmon:
http://www.imagechicken.com/uploads/1244548604007097000.jpg
La grande ligne noire est Processus \ octets privés et les autres lignes sont les compteurs mem CLR (le rose est nombre total d'octets) engagés
en chiffres du graphique sont:
octets privés ~ 350 Mb
octets ~ 100 Mb Committed
Je suis en train de creuser autour de beaucoup avec WinDbg et d'autres outils, et ils signalent tout ce que la pile géré se comporte (! Rapports de eeheap total géré pile d'environ 100 Mb)
J'ai farfouillé avec des applications comme LeakDiag, LDGrapher mais n'a rien trouvé.
Donc, finalement à ma question, comment puis-je procéder pour savoir où va ma mémoire?
Même en démarrant l'application utilise 100 Mo en octets validés mais 190 Mo en octets privés.
Références:
J'ai lu beaucoup à ce sujet, entre autres sur les grands sites:
Tess Ferrandez: http://blogs.msdn.com/tess/archive/2009/02/27/net-memory-leak-reader-email-are-you-really-leaking-net-memory.aspx
Rico Mariani: http://blogs.msdn.com/ricom/archive/2004/12/10/279612.aspx
MSDN mag: http://msdn.microsoft.com/en-us/magazine/cc163528.aspx
Merci pour les réponses à ce jour. Donc, pour clarifier,! Eeheap,! Dumpheap, gcroot etc. tous rapportent les choses qui composent le 100Mb - ce que j'essaie de me débarrasser de l'autre mémoire - les 250 Mo supplémentaires. – andyhammar
Mise à jour - avec VADUMP: Rapports "Grand ensemble de travail total" de 236 Mo, "Autres données" comme 196 Mo. En attendant! Eeheap rapporte "taille de tas de GC" au 107336836. Quelle est cette différence? – andyhammar
'Autres données' inclut le tas GC avec d'autres données :) Je ne suis pas sûr quoi d'autre est là, mais il est sûr de supposer que les données d'exécution requises par le CLR. –