Petite application de 103 Ko sur disque = 2 x 14 Mo en RAM

Signaler
Messages postés
714
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
bonjour,

je sais que la RAM ne coûte pas chère aujourd'hui mais ce n'est pas une raison pour la gâcher.
J'ai un petit soft qui affiche une icone dans le System tray avec une aboutBox, un mainform et un context menu look 2003 ainsi qu'un fichier de config.
En release, il squatte quasiment 30 Mo de RAM, c'est un peu abusé et poutant je suis bien en Release.

A-t-on moyen de tracer un peu plus cette occupation pour voir ce qui cloche ?

Merci,

++
vincent

----------------------------
C++ forever
C# amateur

5 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

regardes avec le CLR profiler (gratuit)

il y a aussi antsprofiler (redgate) payant il y a peut etre une demo

Plus d'outil
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
En même temps, une application windows sans aucune ligne de code hormis celles générées manuellement "coûte" déjà plusieurs mégas.
Si ton application est très simple, tu ne pourras probablement pas optimisé beaucoup (à moins d'avoir fait une grosse erreur).

C'est un peu le problème d'un framework "lourd" comme le framework .NET......... On ne peut pas avoir tous les avantages

<hr />
-Blog-
-Site Perso-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonjour,

A mon avis, il s'agit principalement du cout de la CLR, comme dit plus haut, des profiler vont te dire où se trouve le problème, si problème il y a.
Pour vérifier cela, fait une application console qui utilise exactement les memes assemblies et compare ...

De mémoire, le cout de la CLR est mutualisé entre les applications .net, mais l'explorateur windows ne voit pas cette mutualisation. Regarde éventuellement avec process monitor, tu as d'autres colonnes liés à la mémoire, je ne sais pas quelle colonne t'interessera le plus.

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Voila ce que j'avais en tete : http://www.itwriting.com/dotnetmem.php

<hr />Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
87
Salut,

Et en même temps l'autre question à se poser est : pourquoi le GC perdrait du temps à libérer de la mémoire s'il reste 1Go de libre à côté ?

/*
coq
MVP Visual C#
CoqBlog
*/