Anda di halaman 1dari 4

6/15/2017 NomoreoutofmemoryerrorsforWindowsPhoneemulatorsinWindows10(unlessyourereallyoutofmemory)|VirtualizationBlog

Server & Tools Blogs > Server & Management Blogs > Virtualization Blog
Sign in

Virtualization Blog
Information and announcements from Program Managers, Product Managers, Developers and Testers
in the Microsoft Virtualization team.

No more out of memory errors for Windows Phone

emulators in Windows 10 unless youre really out of

January 27, 2017 by sarah_cooley[msft] // 0 Comments

Share 3 23 1

For those of you who run emulators in Visual Studio, you may be familiar with an annoying error:

It periodically pops up even when task manager reports enough available memory this is especially true for
machines with less than 8GB RAM. Most of the time, its because there genuinely isnt enough memory
available but sometimes its because of HyperVs root memory reserve discussed in KB2911380.

This blog will tell you what the root memory reserve is, why it exists, and why you shouldnt need it on
Windows 10 starting in build 15002 original announcement here. I also wrote a mini script to clear the
registry key that controls root memory reserve if you think it may be set on your system.

1 InvokeWebRequestUri
3 .\clearMemoryReserveregkey.ps1

5 rmclearMemoryReserveregkey.ps1

runclearMemoryReserveregkey.ps1 hosted with by GitHub view raw 1/4
6/15/2017 NomoreoutofmemoryerrorsforWindowsPhoneemulatorsinWindows10(unlessyourereallyoutofmemory)|VirtualizationBlog

So, What is the root memory reserve and why is it there?

Root memory reserve is the memory HyperV sets aside to make sure there will always be enough available
for the host to run well.

We change HyperV host memory management periodically based on feedback and new technology things
like dynamic memory and changes in clustering. The root memory reserve is only one piece of that equation
and even calculating that piece has several factors. Modifying it is not supported but there is still a registry
key available for times when the default isnt appropriate for one reason or another.

KB2962295 basically describes measuring, monitoring, and modifying the root reserve.

KB2911380 tells you how to manually set it.

And now Im here to tell you to remove it!

1 $rootReserveKey="MemoryReserve"
2 $rootReserveKeyPath="HKLM:Software\Microsoft\WindowsNT\CurrentVersion\Virtualization"

4 #Andhere'showyouremoveit:)

5 RemoveItemPropertyPath$rootReserveKeyPathName$rootReserveKey

miniclearMemoryReserveregkey.ps1 hosted with by GitHub view raw

Why you dont need root memory reserve any more.

We stopped using a root memory reserve in favor of other memory management tools in Windows 10. The
things that make it necessary are unique to server environments clustering, service level agreements.

However, while the default memory management settings on server are now different from HyperV on
Windows, if root reserve is set on Windows 10 HyperV will respect it you wont see any of the memory
management changes we made. Which is why now is the time to clear that custom root memory reserve.


Search MSDN with Bing

Search this blog Search all blogs

Top Server & Tools Blogs

ScottGu's Blog 2/4
6/15/2017 NomoreoutofmemoryerrorsforWindowsPhoneemulatorsinWindows10(unlessyourereallyoutofmemory)|VirtualizationBlog

Brad Andersons "In the Cloud" Blog

Brian Harry's Blog

Steve "Guggs" Guggenheimer's Blog

Share This Post

Recent Posts

Making it easier to revert April 20, 2017

Use NGINX to load balance across your Docker Swarm cluster April 19, 2017

Windows Server 2016 Adds Native Overlay Network Driver, enabling mixed Linux + Windows Docker Swarm
Mode Clusters April 18, 2017

Whats new in HyperV for the Windows 10 Creators Update? April 13, 2017


Application Virtualization Azure Site Recovery Citrix Cloud Computing Community cross
platform management Disaster Recovery Dynamic Memory ESX events guest blog post High

Availability HP HVR HyperV HyperV Replica integrated virtualization

Interop Live Migration Management Management tools Microsoft Application
Virtualization Microsoft Desktop Optimization Pack Microsoft HyperV Server MMS SoftGrid

System Center System Center Virtual Machine Manager VDI Virtual

Desktop Architecture virtualization Virtualization AMD virtualization management
virtual machine Virtual PC Virtual Server VMM 2008
Virtuallization Solution Accelerators

VMWare Windows Server 2008 Windows Server 2008 R2 Windows

Server 2012 Windows Server 2012 R2 Windows Virtualization XenServer


April 2017 4
March 2017 1
February 2017 5
January 2017 5
December 2016 1
October 2016 5
All of 2017 15
All of 2016 17 3/4
6/15/2017 NomoreoutofmemoryerrorsforWindowsPhoneemulatorsinWindows10(unlessyourereallyoutofmemory)|VirtualizationBlog

All of 2015 18
All of 2014 36
All of 2013 30
All of 2012 23
All of 2011 41
All of 2010 58
All of 2009 97
All of 2008 80
All of 2007 13
All of 2006 3

Tags HyperV Powershell

Join the conversation

Add Comment

2017 Microsoft Corporation.

Terms of Use Trademarks Privacy & Cookies 4/4