We are having a memory issue with one of our application running under Windows CE 5 (.Net 2.0 SP2). I have started using the .NET Compact Framework Remote Performance Monitor. However, the outcome is not really clear to me.
Here are the information I got (at a particular time):
GC Heap ________________________________ 5'193'728
JIT Heap _______________________________ 2'225'560
App Domain Heap ________________________ 3'848'192
Process Heap _____________________________ 378'848
Short Term Heap _______________________________104
To have a correct usage of the memory really used by the managed application, I have to add:
64KB/Thread Stack
(assumed 15 threads) ______________________975'000
TheExe.exe (my exe size) ___________________81'000
64 kB guard section ________________________64'000
Total usage:____________________________12'766'432
At the same time, I have call the "GlobalMemoryStatus" API to get the memory usage:
Memory Load [%]: 93
Total Physical [KB]: 41320
Avail Physical [KB]: 2920
Total Page File [KB]: 0
Avail Page File [KB]: 0
Total Virtual [KB]: 32768
Avail Virtual [KB]: 3584
So my question: Is this correct to say that: [(32'768'000 - 12'766'432) - 3'584'000 = ] 16'417'568 Bytes of my Virtual Memory are currently used by native dlls?
If this is not the case, can someone explain me what am I missing to get the correct picture?
Thanks, José