Pages

Saturday, February 13, 2010

Performance tuning of VMware using Large Page

      Lets talk on the subject to understand what we are going to do here.
              
            VMware® ESX Server supports the use of large pages inside virtual machines. The large‐page support enables server applications to establish large‐page memory regions. Memory address translations use translation lookaside buffers (TLB) inside the CPU. The use of large pages can potentially increase TLB access efficiency and thus improve program performance. This study examines the performance of this feature. Most modern processors support memory pages of large sizes, called “large pages” or “super pages.”
For example, the x86‐64 architecture supports the large page size of 2MB in addition to small 4KB pages. X86‐64 and x86 PAE support large page size of 2MB; x86 non‐PAE supports 4MB. The large translation lookaside buffer (TLB) covers a larger memory range than the small TLB, thus the use of large pages can possibly reduce TLB misses. As a result, many applications can benefit from large pages. For example, an Oracle database uses many large shared memory regions and can potentially benefit from large pages.
      
   Now let’s stop on English and start working

To Enable the large page support for the entire ESX Server host.

Perform the following steps using the VMware Infrastructure Client:
1 In the left pane of the VI Client, choose the ESX Server host.
2 In the right pane of the VI Client, click the Configuration tab.
3 Choose Software > Advanced Settings. The Advanced Settings dialog box opens.
4 In the left pane of the Advanced Settings dialog box, choose Mem.
5 In the right pane of the Advanced Settings dialog box, set Mem.AllocGuestLargePage to 1.
6 Click OK to close the Advanced Settings dialog box.

   Now lets Enable Large Page support in Guest Operating Systems

Enabling Large Page Support in Windows Server 2003
To enable large page support in Windows Server 2003, the system administrator must grant appropriate users the privilege to “Lock pages in memory.” This privilege is not enabled by default when Windows is installed.

To grant this privilege, take the following steps:
1 Choose Start > Control Panel > Administrative Tools > Local Security Policy.
2 In the left pane of the Local Security Settings window, expand Local Policies and choose User Rights
Assignment.
3 In the right pane of the Local Security Settings window, choose Lock pages in memory and choose Action > Properties. The Local Security Setting dialog box opens.
4 In the Local Security Setting dialog box, click Add User or Group.
5 Enter the appropriate user name, then click OK to close the Select Users or Groups dialog box.
6 Click OK to close the Local Security Policy Setting dialog box. The Local Security Settings window shows the user assigned to the policy

You need to log out, then login back or reboot to free memory. Now, applications running as this user can access large pages.
  
Enabling Large Page Support in Red Hat Enterprise Linux
To enable large page support in Red Hat Enterprise Linux, the root user must preallocate the large pages from the command line.

1) If you need 2GB large pages, enter the following command to preallocate 1024 2MB large pages:
    
    # echo 1024 > /proc/sys/vm/nr_hugepages

2 The system may not allocate all the pages you specified. To see how many large pages were actually
allocated, enter the following command:

   #cat /proc/sys/vm/nr_hugepages

3 Some applications, such as the BEA Java Virtual Machine, use /mnt/hugepages to allocate large pages. If
you are using such an application, you must create the mount point for mapping the large pages. To do
so, enter the following commands:

#mkdir /mnt/hugepages
#mount -t hugetlbfs nodev /mnt/hugepages
#chmod 777 /mnt/hugepage


cheers,
All the Best ....... :) 

No comments:

Post a Comment