Hi all,
I've been tinkering for hours on this issue. Have setup multiple Hyper-V environments before and never come across this issue, presume it may be a bug in latest version of Windows Sever 2022 Hyper-V so looking to see if anyone else has seen this yet?
Dell PowerEdge T640
2 x Intel(R) Xeon(R) Gold 5120 CPU @ 2.20GHz (56 virtual) (X64)
128GB RAM
MSINFO32, Task Manager & System all show the 128GB RAM with about 116GB available after Windows Server 2022 has booted.
All drives have plenty of spare space and I've also changed the "Automatic Stop Action" to "Shut Down" just in case it was a disk space issue.
I create a new VM, and want to allocate 32GB RAM. Starting the VM (even with no VHDX attached) and I get the error: " Unable to allocate 32768MB of RAM: Insufficient resources exist to complete the requested service. (0x800705AA)."
I then start lowering the RAM until the test VM will start up...seems it's around 12GB. If I then try to start a second VM even with 512MB RAM, I get the same error as above indicating some type of hard limit for combined RAM usage within Hyper-V.
I have tried removing the Hyper-V feature and re-installing...same issue. Checked all BIOS/UEFI settings compared to another server which works fine (but on Windows Server 2019). Checked for all latest Windows updates. "NUMA Spanning" is enabled but I also tried disabling it and I'm getting the same issue. I'm completely stumped!
Any suggestions on what I can try next?
FIX FOUND!!!
After a bit more searching I found the following which resolved my issue:
In our case it was ‘Advantage Database Server’ on the main server that was causing issue. When Advantage Database Service was started it was ‘allocated’ and ‘holding’ ram for itself and making it unavailable to Hyper V. It does not show up in task manager.
Solution: The cause is ADS’ cache allocation. By default, 64-bit ADS will use up to 50% of the available physical memory for its cache. The memory is not actually in use until the indexes and temporary files are read into it, but Hyper-V still sees the memory as allocated, so it won’t start a partition that requires more than the remaining memory.
Add or modify the registry setting HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Advantage\Configuration\MAX_CACHE_MEMORY (DWORD) Give it a value in MB that will leave enough memory unallocated for the child partition to start.