Very high Kernel-VirtualMemory usage

Use this forum for questions on how to use .NET Memory Profiler and how to analyse memory usage.
Post Reply
augustg
Posts: 1
Joined: Mon Mar 10, 2014 3:49 pm

Very high Kernel-VirtualMemory usage

Post by augustg » Tue Mar 11, 2014 10:03 am

Im profiling an ASP.NET web forms application which is quite memory intensive. Doing manual calculations on how much memory the app should use given the input i feed it in test cases, i get about the same results as the Overview shows for managed instances in the memory profiler. However theres also a huge chunk of memory labeled “Kernel-VirtualMemory”, and in my case its 648 MB while the managed heap is only 280 MB.
Screenshot of native memory-tab: http://i59.tinypic.com/2dl8wme.png

What does “Kernel-VirtualMemory” represent? Is there any way I can find out what is causing it to be so high?

I did try to find out more by looking at the callstack for each allocation. But I couldnt find any pattern och anything else that stood out. It seemed like almost every callstack was unique.

Any help is very much appreciated!

Andreas Suurkuusk
Posts: 1029
Joined: Wed Mar 02, 2005 7:53 pm

Re: Very high Kernel-VirtualMemory usage

Post by Andreas Suurkuusk » Wed Mar 12, 2014 2:57 pm

Kernel-VirtualMemory is memory allocated by the VirtualAlloc function. Often this memory is sub-allocated using Win32 heaps or managed heaps, but if the profiler cannot detect another use of the memory, it will be presented as Kernel-VirtualMemory. To get an idea on why this memory is allocated you need to look at the allocation call stacks. To get useful native call stacks, you need to make sure that the symbols file locations are correctly defined. Use the Tools->Options command and select the Symbol File Locations page to define the symbol files locations.
Symbols.png
Symbol File Locations
If the symbols files have been loaded correctly, you should be able to get an indication on why the Virtual memory is allocated. Make sure that the allocations stacks are sorted on "Live bytes" and look at the first call stacks.

If you need additional help with this, you can upload a session file to us and we will take a look. Contact us at support@scitech.se to get instrucation on how to upload the file.
Best regards,

Andreas Suurkuusk
SciTech Software AB

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 14 guests