While working on reconfiguring my home lab setup, and migrating all the vSphere resources into a single cluster I ran into a problem powering on one of the VMs which used to run on a single host. The power on operation yielded the following error message:
Invalid memory setting: memory reservation (sched.mem.min) should be equal to memsize (memsize)
[showhide type=”errorstack” more_text=”Show error stack (%s More Words)”]
Status: Invalid memory setting: memory reservation (sched.mem.min) should be equal to memsize(4096). Start Time: Jul 12, 2014 4:22:21 PM Completed Time: Jul 12, 2014 4:22:23 PM State: error Error Stack: An error was received from the ESX host while powering on VM MinecraftServer.Failed to start the virtual machine.Module MemSched power on failed.An error occurred while parsing scheduler-specific configuration parameters.Invalid memory setting: memory reservation (sched.mem.min) should be equal to memsize(4096). Additional Task Details:
VC Build: 1476327 Error Type: GenericVmConfigFault Task Id: Task Cancelable: false Canceled: false Description Id: Datacenter.ExecuteVmPowerOnLRO Event Chain Id: 20017
Clearly there was an issue with memory reservations on the VM, but there was no memory reservation enabled on it at all, nor should there be. The only related errors I found while investigating the issue, was with regards to pass-through devices, which also did not apply in this case. It turns out that the problem was due to the VM was configured to use the latency sensitivity feature introduced in vSphere 5.5.
The Deploying Extremely Latency-Sensitive Applications in VMware vSphere 5.5 whitepaper from VMware clearly states that usage of this feature also demands a memory reservation being set on the VM, and this VM had no reservation.
Enabling the latency-sensitivity feature requires memory reservation.
The error message received in vCenter could be a lot clearer though, and a knowledge base article with the exact error message and resolution paths might be in order. It was not immediately obvious that the lack of memory reservation error message was related to the latency sensitivity settings for the given VM. The vSphere Web Client shows a warning that you should check the CPU reservations, but does not mention memory reservations when you enable this feature.
Now I just need to figure out why my home MineCraft server had that setting enabled in the first place…