8

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.

AveryFreeman
  • 279
  • 1
  • 3
  • 12
  • I encountered the same problem, the solution following: https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2002779 I use Vsphere Client to modify that. – Ming Shen Mar 14 '17 at 05:26
  • Thank you, the documentation was not helpful at all, this post was thought! – petr Feb 13 '18 at 23:08
  • This was very helpful and saved me a ton of frustration. Thanks. – EnemyBagJones Jul 23 '20 at 16:52
  • No problem. I noticed now that I am using vSphere it automatically sets the reserved memory and locks the memory reservation. I don't remember the bare ESXi client UI explicitly reflecting locked memory, but it might be implicit - just something to be aware of. It'd be easy to test if you monitor your host's memory reservation before and after powering on the VM. – AveryFreeman Jul 23 '20 at 20:17

2 Answers2

3

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
Steve Byrne
  • 131
  • 4
  • Yes, I tried latency sensitivity before finding the reservation amount in extended memory settings and it did not correct this error for me. But the VMWare documentation you posted seems to be the same solution I posted in my answer to my own question. People will have options to try! Thanks. – AveryFreeman Jun 01 '18 at 15:05
  • 1
    Changing the Latency Sensitivity from High to Normal (like you said) worked for me. Thanks! – Jake Reece Sep 05 '18 at 19:27
  • 1
    I set "Reserve all guest memory (All locked)" and it worked – Benedikt Köppel Mar 29 '20 at 13:34
-1
  1. Edit Settings
  2. On Virtual Hardware Tab
  3. Expand the Memory Drop down/arrow
  4. Set Reservation = RAM
  5. Save and try again