Q
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

How does memory compression compare to page swapping?

Memory compression can help improve performance by reducing the time needed for swap file access.

When a computer runs short of physical memory, page swapping allows the system's local disk drive to serve as supplemental...

memory by swapping memory pages between the disk and physical memory as needed. This is a tried-and-true approach that can prevent system crashes. But disk access is at least an order of magnitude slower than memory access, so page swapping can have a significant performance penalty for virtual machines.

By comparison, memory caching stores frequently-used content in a relatively small portion of memory. As long as the content contained in the cache is needed -- a cache hit -- the access takes place at memory speeds. If not -- a cache miss -- the content must be loaded from a disk.

Memory compression is a variation on caching that is designed to accommodate memory overcommitment without the additional time needed for disk access. Rather than simply sending an idle memory page to a disk swap file, the idle memory page is first compressed and then it is stored to a small area of the VM's memory set aside as a memory compression cache. This frees memory and allows greater levels of memory overcommitment. When compressed memory pages are needed later, it's a much faster process to retrieve compressed pages from the cache, decompress the pages, and restore the pages to working memory than it would be to retrieve them uncompressed from a swap file.

Hypervisors like VMware's ESXi allow administrators to enable or disable the memory compression cache, and to set the compression cache size for each VM. By default, VMware enables memory compression set for 10%, but administrators can change this setting to anywhere from 5% to 100%.

Remember, the memory set aside for the cache is carved out of the each VM's memory allocation. For example, if 1 GB is provisioned to a VM which is set with a 10% cache, 100 GB of the VM will be used for the cache. The idea is that the 100 GB cache may hold 200 GB or more worth of idle content which can be freed from the remaining VM memory for other uses. The cost -- measured in terms of time needed to decompress data -- of the memory compression cache should be more than recovered in the amount of idle memory freed without disk swap penalties.

Next Steps

Hypervisors take a dynamic approach to VM memory

How memory compression can improve consolidation

Fundamentals for troubleshooting VMware performance

This was last published in March 2016

Dig Deeper on Server consolidation and improved resource utilization

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Join the conversation

1 comment

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

How do you determine your memory compression percentage setting?
Cancel

-ADS BY GOOGLE

SearchVMware

SearchWindowsServer

SearchCloudComputing

SearchVirtualDesktop

SearchDataCenter

Close