i am running esxi 5.5 with only one virtual mashine.
At the beginning host memory consumed was 550 MB but after 3 days it increased to almost 1200 MB.
My guest is using the same amount all the time. What is the reason ?
Best Answer
Can you clarify what you mean by "My guest is using the same amount all the time"?
I suspect the problem is that you're misunderstanding this part:
That metric is not a measure of how much RAM the guest is using; it's a measure of how much of the RAM that's been allocated to the VM has been used recently (the number that's at 46 MB in the image). It's a measure of the activity within the VM's RAM, which is useful when ESXi is deciding how to allocate RAM when there's resource contention.
The reason that the Host Memory number is going up is that a modern (Windows or Linux) will utilize any physical RAM that's available to it as a filesystem cache - as the system's running, it'll gradually use all of the physical RAM that you've allocated to it (1.5 GB), and it will keep it used unless there's memory contention among VMs (then the balloon can take RAM back).
This is normal and to be expected - the important thing to remember is that the active memory metric is a measure of recent use of the RAM, not an amount of consumption.
Don't use Limits on RAM. To cap the amount of RAM the VM can use, use the amount of RAM when definining the VM. Otherwise, if you set a limit for RAM on a VM smaller than the amount of RAM that's defined for the VM, ESX will be forced to page. If paging is to occur, you want the guest to page inside itself because it's more intelligent about what data should be paged than ESXi is. When definining a VM, you want to define the RAM as the highest amount of RAM the VM might need, or the cap you want the VM to use.
Unless absolutely necessary, do not use reservations for any VM on any resource, including memory. If you install VMTools, which you always should unless you have a good reason not to, ESXi can reclaim memory, particularly when it's not being used. Setting reservations will force ESXi to provide physical memory even if the guest doesn't need it. Instead, use Shares to set priority when there is resource contention.
The above is very important. If you do not follow those, what will happen is you'll have inefficient paging, and inefficient granting of resources because VM's that don't need RAM will get it anyway, and VM's that could use the RAM won't get it. You'll also often times have VM's that need RAM, but may not get it even if there is some to provide.
The difference between those two screens comes down to the summary being how much RAM is actually being used, and total capacity shows the amount that could be used adjusted after reservations.
To answer your question, this is a reservation setting for the Hypervisor. This illustrates actually my above point that you shouldn't use reservations unless you abslutely have to. The ESXi hypervisor has perhaps too high of a memory reservation. You can tweak this. Reference the following article:
Check your resource allocation to see if there are swapping and/or ballooning. Also, do you have an equivalent physical server or nonesxi vm to run the same software stack to compare with? It may not be esxi and could just be how your application configuration is causing the excessive memory needs.
Best Answer
Can you clarify what you mean by "My guest is using the same amount all the time"?
I suspect the problem is that you're misunderstanding this part:
That metric is not a measure of how much RAM the guest is using; it's a measure of how much of the RAM that's been allocated to the VM has been used recently (the number that's at 46 MB in the image). It's a measure of the activity within the VM's RAM, which is useful when ESXi is deciding how to allocate RAM when there's resource contention.
The reason that the Host Memory number is going up is that a modern (Windows or Linux) will utilize any physical RAM that's available to it as a filesystem cache - as the system's running, it'll gradually use all of the physical RAM that you've allocated to it (1.5 GB), and it will keep it used unless there's memory contention among VMs (then the balloon can take RAM back).
This is normal and to be expected - the important thing to remember is that the active memory metric is a measure of recent use of the RAM, not an amount of consumption.