0

I have a .net process running with 110 MB private bytes in memory/

When I use dotTrace memory tool I see that the .net memory consumption is:

  1. 10.03 MB used
  2. 25.72 MB total - (so why is the total bigger than the memory used?)

  3. the total process memory consumption is 110 MB. so where do the other 85 MB are wasted/used on unmanaged memory and objects? is it consumed by the operating system?

Tal Avissar
  • 10,088
  • 6
  • 45
  • 70
  • 2
    Allocating memory is expensive. Buying memory is cheap. Pay no attention to the memory manager behind the curtain. It knows what it's doing, whereas you are not versed in its arcane magic. If you really want to know, get CLR Via C# and read the chapter about the GC. –  May 09 '17 at 12:29
  • If my answer answers your question, please accept it, if no, please ask additional questions, I'll try to help. – Ed Pavlov May 29 '17 at 09:19

1 Answers1

2

Default Windows task manager displays "Private working set". It's highlighted with red color on the attached screenshot on "Windows Task Manager" and Perfmon windows. You can enable "Commit size" column and see "Private bytes". It's highlighted with green color on "Windows Task Manager", Perfmon, and "Sysinternals Process Explorer". dotMemory (not dotTrace btw) displays "Private bytes" as a "Total" memory consumption.

enter image description here

Ed Pavlov
  • 2,353
  • 2
  • 19
  • 25