Bonjour.
Je dispose d'une application winforms dans laquelle je souhaite "monitorer"
la mémoire que celle-ci utilise. Dans ma Form principale j'execute ce code suivant toutes les secondes:
Le problème est que le chiffre retourné (~500ko) ne correspond pas du tout à ce qu'indique le gestionnaire de tache windows (~16mo).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void DisplayMemory() { if (InvokeRequired) { DelegateVoidVoid d = new DelegateVoidVoid(DisplayMemory); try { Invoke(d); } catch { } } else { long mem = GC.GetTotalMemory(true)/1024; int memKo = Convert.ToInt32(mem); verticalProgressBar3.Value = memKo; } }
J'imagine que cela est du au fait que mon application utilise différents threads et qu'ils ne sont pas pris en compte dans le total retourné.
Donc ma question est :p
Comment obtenir la mémoire utilisée par l'ensemble des threads de mon programme?
Partager