Hyper-V: Not enough memory to start VM although there are plenty left

0

I'm having this error on my server: "Not enough memory in the system to start the virtual machine. Ran out of memory (0x8007000E)" when starting an 8 GB VMs on a 12 GB RAM FREE server.

Here is my set up.

Host specs: 32 GB RAM - E3-1240v3 CPU - 4 TB HDD. Numa spanning enabled.

Created:

  • 6 x 2 Gb - 1 vCore - 100 GB HDD.
  • 2 x 4 GB - 1 vCore - 100 GB HDD - Dynamic memory enabled with min: 3.5 GB. So it's 20 GB for VMs (haven't counted dynamic memory) + leave 2.5 GB for the host so the total is 22.5 GB and I still have around 11.5 GB left on the server.

Why can't I start the 8 GB VM? Any comment is appreciated, I've searched everywhere and seems can't have a proper answer.

virtualization
hyper-v
numa
asked on Server Fault Apr 6, 2018 by Hiền Phạm

4 Answers

2

You ran out of memory. You have to reserve some for the host and other processes, and 2.5G isn't much for Windows as a hypervisor. Just because memory is free doesn't mean it isn't subject to resident allocation by a more important host process, and hyperv rightfully accounts for this. There's usually never a situation in which you would want a single VM to memory cripple the host OS.

Also consider that you may be having trouble allocating memory in the amounts you're requesting. I'm sure your allocations don't have to be so pretty as they are now, so you could easily rob a little from your other workloads to accommodate your host.

answered on Server Fault Apr 6, 2018 by Spooler • edited Apr 6, 2018 by Spooler
0

You have around 11.5GB left on the server but when you try to assign 8GB to the VM you are not able because you run out of memory. Since it leaves Hyper-V with 3.5GB spare memory only.

In your scenario with 32GB RAM you need to leave atleast 4.5GB free memory:

  • 2-2.5GB reserve
  • 2GB management OS
answered on Server Fault Apr 6, 2018 by Gen
0

Have you enabled NUMA spanning in your HyperV settings? if not enable it i bet that will solve your issue.

By default, Windows Server enables NUMA spanning, which provides the most flexibility as virtual machines (VMs) can access and use memory in any NUMA node. But it may result in lower performance compared to forcing VMs to use memory on the same NUMA node as the processor cores.

By disabling NUMA spanning, you ensure that VMs use memory and processor cores in the same NUMA node, giving the best performance. This should only be changed once, if, as an administrator, you feel comfortable with NUMA and the implications of disabling and also if you have some additional management suite that can help ensure best configuration.

To configure NUMA spanning, open the Hyper-V Settings and select the NUMA Spanning option and disable it, I am sure, it will get solved; I struggled with the issue for a week and resolved it by disabling NUMA.

I am sure this would be marked as resolved by disabling NUMA in Hyper-V Manager.

answered on Server Fault Mar 5, 2019 by user11078255
0

Increased Minimum RAM to 1024 and it worked for me. By default it was 512.

answered on Server Fault Aug 26, 2020 by user589428

User contributions licensed under CC BY-SA 3.0