If you've tried to emulate your own apps on the built-in Windows phone emulators present in Visual Studio, you might have experienced an "out of memory" error in Windows 10. This happened even when there was apparently enough free memory, according to the Task Manager. Microsoft has now announced that it has fixed the issue, and the problem won't occur in Insider Preview build 15002 and onwards.
Microsoft says that the problem was quite common on systems with less than 8GB of RAM. Users were often greeted with the following error:
The emulator in unable to verify that the virtual machine is running:
Not enough memory is available in the system to start an emulator that uses 3072MB of startup RAM. Please close other applications and try to launch the emulator again.
The company says that most of the time, this happened because there actually wasn't enough available RAM in the system, but sometimes, it also happened because of Hyper-V’s root memory reserve.
According to Microsoft, this reserve was set aside so that there will always be enough memory for the host to work well. However, starting with Windows 10 Insider Preview build 15002, the company has stopped using this reserve in favor of "other memory management tools" available in the operating system. That said, Microsoft also mentioned that:
[...] while the default memory management settings on server are now different from Hyper-V on Windows, if root reserve is set on Windows 10 Hyper-V will respect it — you won’t see any of the memory management changes we made. Which is why now is the time to clear that custom root memory reserve.
Microsoft has detailed the method for removing Hyper V's root memory reserve here.