IBM logoEnterprise Cloud Management SupportContact Us
ArticlesArticles Most Popular ArticlesMost Popular Articles Most Helpful ArticlesMost Helpful Articles Submit A QuestionSubmit A Question
RSS Feeds
Skip Navigation
DrillDown Icon Table of Contents
DrillDown Icon Enterprise Cloud
DrillDown Icon Release Notes
DrillDown Icon Known Issues
DrillDown Icon Policies
DrillDown Icon Registration and Login
DrillDown Icon Infinicenter Console
DrillDown Icon Enterprise Cloud API
DrillDown Icon Best Practices
DrillDown Icon General
DrillDown Icon Resource Management
DrillDown Icon Processor
DrillDown Icon Memory
DrillDown Icon Networking
DrillDown Icon Timekeeping/Synchronization
DrillDown Icon FAQs
DrillDown Icon Troubleshooting
DrillDown Icon Enterprise Cloud Managed Edition
DrillDown Icon Sales and Support
DrillDown Icon Proprietary Statement
  Email This ArticlePrint PreviewPrint Current Article and All Sub-Articles
 
VMware Performance Tuning Best Practices - Memory

VMware Performance Tuning Best Practices
Memory

There are two kinds of memory overhead incurred by virtual machines:

  1. The additional time to access memory within a virtual machine.
  2. The extra memory needed by ESX server for its own code and data structures.

The memory overhead is composed of two components:

  1. A fixed system-wide overhead for the service console and VMKernal.
  2. An additional overhead for each virtual machine based on:
    • Number of virtual CPUs assigned to the virtual machine.
    • The amount of memory configured for the guest operating system.
    • Use of 32-bit versus 64-bit guest operating system.

The memory overhead includes space reserved for:

  1. The virtual machine frame buffer.
  2. Various virtualization data structures.

The memory is assigned and translated as follows:

  1. The guest operating system of a virtual machine translates guest virtual memory addresses to guest physical memory addresses.
  2. The virtualization layer then translates guest physical memory addresses to physical memory addresses on the underlying machine. This is accomplished by intercepting guest operating system instructions to manipulate guest address mappings.
  3. Note: The mappings from guest physical memory addresses to machine memory addresses are used directly by the processor's paging hardware so that there is no overhead for each memory access.

Additional memory recommendations:

  1. The VMKernel reclaims memory by ballooning and swapping.
  2. VMware recommends the following memory configurations and practices for optimal performance:
  3. Virtual CPUs Memory (MB) Overhead for 32-bit
    Virtual Machine
    Overhead for 64-bit
    Virtual Machine
    1 1024 84 180
    1 8192 139 236
    1 16384 203 300
    2 1024 101 300
    2 8192 221 413
    2 16384 349 541
    4 1024 141 523
    4 8192 222 605
    4 16384 350 734
  4. Avoid frequent memory reclamation.
  5. Some memory overcommitment is allowed without impacting performance by using various internal and automatic memory management mechanisms such as Reservation.
  6. Note: Dedicated/Manual reservations are not offered by IBM at this time due to the impact it has on the resource pool architecture utilized.

  7. Carefully select the amount of virtual memory you allocate to your virtual machine to allow enough memory to hold the working set of applications you will run on the virtual machine.
  8. Due to page sharing and other techniques, virtual machines can be overcommitted on memory and still not swap. However, if the over-commitment is large, performance in the virtual machines is significantly reduced.
  9. vSphere creates a swap file per virtual machine that is equal in size to the difference between the virtual machine's configured memory and its reservation.
Related Articles