I'm trying to understand memory reporting in the Azure App Service. I have an Azure App Service plan of "S1" which includes 1.75 gigs of ram.
When I look in the Kudu process explorer and add up and add up all of the "private memory" of various , my app is using ~990mb. I don't have any other processes or deployment slots running. One single App Service, 1 deployment slot running.
However, in the dashboard, it says my memory percentage usage is 82% (very stable between 80-85% btw). 82% of 1.75 gig is 1.4 gig.
So I'm trying to figure out where the other 400 meg is going, or if the dashboard is incorrect? Are there other processes which are running which aren't included in the process explorer? The details of the process explorer is
w3wp.exe (<- main app service) ~765 meg
snapshotuploader64.exe ~33 meg
snapshotuploader64.exe ~33 meg
w3wp.exe (scm) ~126 meg
cmd.exe ~4 meg
DaasRunner.exe ~30 meg
In kudu -> Process Explorer, it only shows the memory used by the scm site and the web instance.
In fact, the memory is also used by the hosting environment like OS / other background tasks, which are not reported in Process Explorer. Even if you create an empty azure web app, in the dashboard, you can still see the memory is used around 50%.
There're some feedbacks / issues about that, see here and here.