I start MVC app hosted in IIS. Open Task Manager and see that process uses about 55 MB. If to check the memory usage in one of the .net profiler it shows that
Total sizes of objects : 1.93MB
Memory allocated for .NET app: 17.46
Private Bytes : 57MB
What do this values mean? Why app that uses 1.93MB objects allocate about 55 MB RAM?
Some screenshots: https://i.stack.imgur.com/Gr0J2.png https://i.stack.imgur.com/Gr0J2.png
Private bytes are pages allocated by the process. This is typically used to store data.
The CLR allocates memory on behalf of your managed application. This is reflected in private bytes. This memory - the managed heap - is allocated in chunks. The managed application creates objects that are stored on the managed heap. In addition to the managed heap the CLR allocates memory that it uses internally. This also adds to private bytes.
The total size of the objects is the sum of the size of the currently allocated objects. This number will always be smaller than private bytes.