ESXi 6.5 server (no vSphere) sched.mem.min error related to PCI passthrough

passthroughvirtual-machinesvirtualhostvirtualizationvmware-esxi

I have an ESXi 6.5 server without vSphere I've been running for a couple years. I have a VM with PCI passthrough of a cougar point SATA controller from the SM X9SCL-F-O motherboard.

I wanted to move the CP controller to another VM, but no matter which VM I try to pass the controller through to, it won't boot after I pass it through. The VMs boot fine once the controller is removed. The error is:

Failed - Invalid memory setting: memory reservation (sched.mem.min) should be equal to memsize(2048)

I have tried:

Increasing or decreasing the VM memory allotment

Manually reserving memory allotment in .vmx file

Changing the latency sensitivity from low to high, and everything between

Does anyone have any idea what I'm doing wrong? I don't think this was a problem before I upgraded to ESXi 6.5

Please help! It's driving me crazy…

Edit: Updated to ESXi 6.5a Build 4887370 – it did not fix the problem.


New info and answer:

Unfortunately the link provided in the answer below did not explain the steps required to increase scheduled memory to the VM in ESXi 6.5, since it was written before the new HTML5 interface and the procedure has changed.

However, it did get me on the right track. I realized that I had overlooked a "down arrow" underneath the memory settings when I was editing the VM's Virtual Hardware.

Memory setting and reservation must be the same for VM to function with PCI passthrough to avoid the sched.mem.min error and power on the VM. VMs regularly work without reserving memory, but apparently this is an additional step required for PCI passthrough functionality.

Here are the steps I took to reserve the proper amount of memory for the VM in ESXi 6.5 without vSphere:

1) Click Edit

2) Click arrow underneath memory to expand memory options

3) Enter same amount of memory for VM in "Reservation" field (e.g. if Memory is 2048MB, enter 2048 in Reservation)

4) Save settings. VM should function with PCI passthrough device now.

Note: Memory does not have to be locked for VM to function

Hopefully this will help someone else that is having the same problem that I was.

Best Answer

Three steps to try:

VMware Documentation Answer

Here

[Vsphere client]

  1. Right-click the virtual machine and click Edit settings.
  2. Click the Resources tab.
  3. Select Memory and increase the reservation amount to its configured memory size.
  4. Click OK.


Poster's Answer


[Web Client]

1) Click Edit

2) Click arrow underneath memory to expand memory options

3) Enter same amount of memory for VM in "Reservation" field (e.g. if Memory is 2048MB, enter 2048 in Reservation)

4) Save settings. VM should function with PCI passthrough device now.

Note: Memory does not have to be locked for VM to function


What worked for me


[Web Client]

  1. From the web client, select the VM
  2. Edit Settings
  3. Select VM Options Tab
  4. Expand the Advanced Drop down/arrow
  5. Change Latency Sensitivity (in my case from High to Normal)
  6. Save and try again