VMware Cloud Community
systemtest
Contributor
Contributor

What is the difference Balloon from Idle Memory Tax?

Hi.

I can't understand difference Balloon from Idle Memory Tax.

Please teach me.

Reply
0 Kudos
8 Replies
benma
Hot Shot
Hot Shot

If a virtual machine is not actively using its currently allocated memory, ESX Server charges a

memory tax - more for idle memory than for memory that is in use. That is, the idle memory

counts more towards the share allocation than memory in use. The default tax rate is 75 percent,

that is, an idle page of memory costs as much as four active pages. This rate can be changed by

modifying a parameter setting.

Memory tax helps prevent virtual machines from hoarding idle memory. The approach in ESX

Server ensures that a virtual machine from which idle memory has been reclaimed can ramp up

quickly to its full share-based allocation once it starts using its memory more actively.

The balloon driver, also known as the vmmemctl driver, collaborates with the server to reclaim

pages that are considered least valuable by the guest operating system. It essentially acts like a

native program in the operating system that requires more and more memory. The driver uses a

proprietary ballooning technique that provides predictable performance that closely matches the

behavior of a native system under similar memory constraints. This technique effectively increases

or decreases memory pressure on the guest operating system, causing the guest to invoke its

own native memory management algorithms. When memory is tight, the guest operating system

decides which particular pages to reclaim and, if necessary, swaps them to its own virtual disk.

Hope that helps.

systemtest
Contributor
Contributor

When ESX Memory reached 0MB,which technique will be used?

Reply
0 Kudos
avlieshout
VMware Employee
VMware Employee

When ESX memory is less than 1% ESX will utilize ESX host swapping and blocks the execution of VMs that are above their target allocations.

Maybe check out my article on ESX memory management:

-Arnim van Lieshout

-


Blogging:

Twitter:

If you find this information useful, please award points for "correct" or "helpful".

Arnim van Lieshout Blogging: http://www.van-lieshout.com Twitter: http://www.twitter.com/avlieshout If you find this information useful, please award points for "correct" or "helpful".
Reply
0 Kudos
systemtest
Contributor
Contributor

Sorry. Your answer doesn't correct with my thoght.

When ESX memory gradually decrease, does each VM use balloon or ESX use Idle Memory Tax?

Reply
0 Kudos
avlieshout
VMware Employee
VMware Employee

Ballooning is a technique used to reclaim memory from the VM. Idle memory tax is NOT. Idle memory tax is a technique to charge a VM more for idle pages than for active pages, which results in a lower share per page ratio on a VM with a lot of idle memory pages. Therefore ballooning is likely to occur on that VM and will reclaim that idle memory. All is explained in my article I mentioned before.

-Arnim van Lieshout

-


Blogging: http://www.van-lieshout.com

Twitter:

If you find this information useful, please award points for "correct" or "helpful".

Arnim van Lieshout Blogging: http://www.van-lieshout.com Twitter: http://www.twitter.com/avlieshout If you find this information useful, please award points for "correct" or "helpful".
Reply
0 Kudos
avlieshout
VMware Employee
VMware Employee

btw, Idle memory tax is allways on by default.

when ballooning cannot satisfy the memory requirements, the ESX host will utilize swapping to actively reclaim memory.

-Arnim van Lieshout

-


Blogging: http://www.van-lieshout.com

Twitter:

If you find this information useful, please award points for "correct" or "helpful".

Arnim van Lieshout Blogging: http://www.van-lieshout.com Twitter: http://www.twitter.com/avlieshout If you find this information useful, please award points for "correct" or "helpful".
Reply
0 Kudos
systemtest
Contributor
Contributor

If Idle Memory Tax changes from 75 to 50,does Idle memory in VM decrease or increase?

Reply
0 Kudos
avlieshout
VMware Employee
VMware Employee

idle memory in the VM cannot be changed by the hypervisor. Memory inside the VM is controlled by the Guest OS. So idle memory state will not change.

When a VM starts not all configured memory is assigned, but memory is assigned to a VM on demand. When a VM is assigned ESX machine memory and is not actively using that memory, this is where idle memory tax comes into play. If memory resources are getting scarse, ballooning will reclaim ESX machine memory from VMs. Inflating the ESX memory driver will cause the Guest OS to use its own paging techniques to free memory and will preferably assign idle pages to the balloon driver, which in turn notifies the ESX kernel that it can reclaim that particular ESX machine memory pages.

In part 2 of my article on ESX memory management I explain how memory is assigned to a vm.

There is also a diagram explaining different memory states.

I advise not to change idle memory tax value.

-Arnim van Lieshout

-


Blogging:

Twitter:

If you find this information useful, please award points for "correct" or "helpful".

Arnim van Lieshout Blogging: http://www.van-lieshout.com Twitter: http://www.twitter.com/avlieshout If you find this information useful, please award points for "correct" or "helpful".
Reply
0 Kudos