From VMware KB article
The ESXi Summary tab and Resource Allocation tab do not show the same values for memory and CPU
The ESXi or Cluster Resource Allocation tab displays three values:
- Total Capacity – Amount of resource that is guaranteed to be available to the resource pool (ESXi host).
- Reserved Capacity – Total amount of resources that have been used for the reservation requirements of all descendants of the resource
pool. This includes both child resource pools and virtual machines.
- Available Capacity – Total amount or resources available for reservation of a child virtual machine.
The values in the Resource Allocation tab are the resources, with the
system resource pools already subtracted.
Your values are :
Total Capacity: 4708 MB = amount guaranteed to always be available
Reserved Capacity: 2698 MB = amount used now
Available Capacity: 2010 MB = amount still available
The VMware vSphere 6.0 Documentation says in the section
Create a Resource Pool :
Reservation
Specify a guaranteed CPU or memory allocation for this resource pool.
Defaults to 0.
A nonzero reservation is subtracted from the unreserved resources of
the parent (host or resource pool). The resources are considered
reserved, regardless of whether virtual machines are associated with
the resource pool.
Expandable Reservation
When the check box is selected (default), expandable reservations are
considered during admission control.
If you power on a virtual machine in this resource pool, and the
combined reservations of the virtual machines are larger than the
reservation of the resource pool, the resource pool can use resources
from its parent or ancestors.
It is important to note that resource pools are created by default as expandable
on need.
The article Managed Object - ResourcePool describes the root resource pool, which takes up the entire computer and is the ancestor of any other pool:
A resource pool is configured with a set of CPU (in MHz) and memory
(in MB) resources. These resources are specified in absolute terms
with a resource reservation and a resource limit, along with a shares
setting. The shares are used during resource contention, to ensure
graceful degradation.
For the root resource pool, the values of the reservation and the
limit are set by the system and are not configurable. The reservation
and limit are set to the same value, indicating the total amount of
resources the system has available to run virtual machines. This is
computed as the aggregated CPU and memory resources provided by the
set of current available hosts in the parent compute resource minus
the overhead of the virtualization layer.
The 5.1 manual for Listing and Registering Virtual Machines says this :
The default datacenter is ha-datacenter and the default resource
pool is Resources.
According to your first screenshot, Resources is defined as having
the CPU capacity of 2 x 2.194 GHZ and the memory capacity of 8103.84 MB.
ESXi is therefore aware of your configuration and has taken up the entire memory.
Although you have not created any resource pool, a default resource pool
was created for you with the Reserved value of 4708 MB, which is the amount
that is subtracted immediately from the host memory.
Since in your case you haven't exceeded the minimum of 4708 MB,
ESXi did not do any additional allocation from the root pool.
This will be done when needed.
I think you are reading the docs wrong. 2698 (used) + 2010 (available) is exactly 4708 (Total capacity for VMs). So 4708+2010 is just wrong. I do agree that 4.7GB is what Vmware guarantees as total memory available for VMs. Question is how do I make that bigger, since 3.7GB for 8GB system with 2 VMs sounds little excessive and wrong. – Iuri G. – 2015-11-07T20:47:59.723
only place i can find
Expandable Reservation
is in resource pools and I dont have any resource pools configured. we are talking about vanilla ESXI 6.0 install. I tried installing esxi 5.5 in VM with 8GB and i had 5.5GB available... I wonder if there are services that i can turn off to dedicate more ram to Vms since i dont use vcenter or any "enterprise" features – Iuri G. – 2015-11-07T22:22:37.223I understand that ESXI is reserving 4.7GB for VMs, my question is that how do I make that reservation higher? I tried ESXI 5.5 and it reserved 5.2GB. So how do I modify default resource pool? I only can create new one with has the limit of 4.7GB - Reserved Amount as total available amount – Iuri G. – 2015-11-09T20:57:05.427
I have incorporated all my comments above into my answer. I think I have shown that ESXi knows about your memory and will use it all, so no action is required. – harrymc – 2015-11-11T10:45:21.300
I reserved 4.5GB for 1VM. so I created new VM with 1GB RAM. If I understand your comments correctly, I should have been able to start it and it should have used extra RAM that was not reserved by default resource pool. VM did not start. Moreover machine was using 6GB out of 8GB, so there was 2GB for that VM to use... It doesnt look like I can use more than 4.7GB for vms. Can I modify default resource pool reservations? – Iuri G. – 2015-11-11T15:11:40.220
Weird. Questions: (1) Have you deleted the additional resource pool that you have created? (2) Can you list all resource pools? (3) Do you have PowerCLI?
– harrymc – 2015-11-11T15:33:32.600Yes I deleted it. I dont have manually created resource pools. I have PowerCLI. I have SSH access to ESXI. I have vSphere. I dont have vCenter. I dont know how list resource pools without vCenter. – Iuri G. – 2015-11-11T16:14:21.003
I have never used PowerCLI Cmdlets, but it looks like one can do quite a lot with them. You should also examine the logs.
– harrymc – 2015-11-11T16:57:52.933Remark: From the fact that you don't have vCenter, I deduce that you are running the free version of ESXi 6.0. There are many reports that memory limits were being sharply reduced (example) with each newer version of free ESXi. This might explain your problem and why your experience contradicts that of users of the paid version, as well as why the memory limit is lower with each successive ESXi version. Try the very latest release 6.0, and if that doesn't work, use a prior version; or a non-VMware product
– harrymc – 2015-11-12T08:27:47.303