Home > Uncategorized > The host does not have sufficient memory resources to satisfy the reservation.

The host does not have sufficient memory resources to satisfy the reservation.


At a customer site I was having problems with an ESXi4.0U1. The host was part a of cluster of 10 other ESXi4.0U1 hosts. VMware HA/DRS was turned on, a few Resource Pools were created. The other hosts were running fine except this one. Every time I wanted to start a virtual machine up, the host threw an error message on the screen:


At the same time an entry was logged in to the Events log:

I checked everything I could think about:

  1. My VM’s CPU and Memory Resource Allocation and there were no reservations nor limits defined.
  2. Host had plenty of memory and processor power, actually the host was idle, no powered on VMs!
  3. My VM’s parent Resource Pool but there wasn’t any, This VM wasn’t part of any Resource Pool.
  4. Cluster settings: HA was set to Power on VMs that violate availability constraints.

I removed the host from the cluster, made a direct connection with vCenter client and booted up the VM, but still same error. I could say that something was wrong with the host only, and not with the VMware cluster’s resource allocation config.

Last place to look at, the esx.conf file. I recalled  that Resource Pool details were written in each host’s esx.conf file, especially for the host’s own resource pool. So I ssh’ed in and cat out /etc/vmware/esx.conf:
/resourceGroups/root/child[0000]/child[0000]/mem/maximum = “16000
/resourceGroups/root/child[0000]/child[0000]/mem/minLimit = “unlimited”
/resourceGroups/root/child[0000]/child[0000]/mem/minimum = “16000
/resourceGroups/root/child[0000]/child[0000]/mem/shares = “10000
/resourceGroups/root/child[0000]/child[0000]/mem/units = “mb”
/resourceGroups/root/child[0000]/child[0000]/name = “vmvisor”

The host’s esx.conf got screwed somehow. Look at that, 16GB were allocated to the host! Damn that was all physical memory available on the server! I was not surprised no virtual machine could start up.

By checking the other hosts, I could figure out what were the correct values. I edited /etc/vmware/esx.conf file and changed the values as follow:
/resourceGroups/root/child[0000]/child[0000]/mem/maximum = “unlimited
/resourceGroups/root/child[0000]/child[0000]/mem/minLimit = “unlimited”
/resourceGroups/root/child[0000]/child[0000]/mem/minimum = “1024
/resourceGroups/root/child[0000]/child[0000]/mem/shares = “1000
/resourceGroups/root/child[0000]/child[0000]/mem/units = “mb”
/resourceGroups/root/child[0000]/child[0000]/name = “vmvisor”

Saved the esx.conf file and rebooted the host, added back to the VMware cluster, HA got installed successfully, and guess what, now I can boot up the VMware Data Recovery VM and other virtual machines as well, no more memory reservation issues :)

I have no idea what happened with that host, but eventually by checking the /etc/vmware/esx.conf file I could see something was wrong and fix it…

About these ads
Categories: Uncategorized
  1. May 28, 2010 at 04:01 | #1

    excellent, post and informative. But this issue might happen to the ESX hosts as well or only the ESX(i)? in my environment only ESX no (i) at all. And started wondering this might happens once upon a time.

    Thanks,
    Hussain

    • deinoscloud
      May 28, 2010 at 08:07 | #2

      Hi Hussain, thx for your comment. I witnessed this problem just once and with ESXi4.0U1. One could be a script that scrwed up the esx.conf file or a a bug that shows up under certain conditions, I just don’t know for the moment.

      Did you experience the same problem in your environment?

  2. Daniel Estévez
    January 11, 2011 at 18:57 | #3

    Hi! Thanks for the post! We had this same issue and could also solve it by editing manually the memory limits at esx.conf.
    Only thing we can add is that it also happened with 2 of our machines running ESXi 4.1.0; we can’t know if it’s a bug or some uncontrolled behaviour installing or configuring Esxi/vCenter.

  3. January 13, 2011 at 18:42 | #4

    At that time did you also check at configuration>system resource allocation>advanced in vcenter/vi client ? I’m pretty sure you could have solved that way…

    • deinoscloud
      January 13, 2011 at 20:28 | #5

      Hi NiTRo and thx for your comment.
      I do not remember if I checked that…
      Indeed it would be easier to fix it through the GUI than the CLI if the problem shows up there as well.

  4. deinoscloud
    January 14, 2011 at 13:45 | #6

    The following VMware KB (http://kb.vmware.com/kb/1026037) describes a similar issue where in this case the host was given too few resources to have HA agent starting up as opposed to my blog where the host was given all the memory resources.

    It is good to know, and I have witnessed that myself when I was running 3 nested ESXi hosts and a lappy with 6GB of memory, 1537MB is the bear minimum to boot up an ESX(i).

    Cheers,

  1. May 27, 2010 at 13:52 | #1
  2. October 27, 2010 at 02:00 | #2
  3. August 17, 2011 at 19:50 | #3

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s