Database Reference
In-Depth Information
Large pages cannot easily be swapped out, nor are they candidates for transparent page
sharing. There are two reasons large pages are not candidates for TPS:
There is very low likelihood that two large pages would ever be identical.
VMware recognizes this fact and does not consider them candidates for TPS.
It would be very resource intensive to perform a bit-by-bit comparison of a large
page to determine if it was a candidate for TPS.
Large pages cannot easily get the benefit of ballooning, which is why it's important that
you make sure there is sufficient memory on the physical host to meet the demands of
your mission-critical SQL Server databases.
Large Pages Being Broken Down
When the physical host is under memory constraints and it has exhausted all other
alternatives, it will begin the process of breaking large pages into the default page size
—which for a X64 system would be 4KB. Earlier in Figure 7.3 , we talked about how
memory is managed. In this example, large pages are broken down at the hypervisor
(host) level, not at the guest VM level. Remember, large pages cannot be swapped out
as they are by the hypervisor.
The large pages must first be broken down into the default page size. In addition, large
pages are not candidates for transparent page sharing. Once those pages are broken
down into the default size of 4KB, the hypervisor can start to invoke TPS to help free up
memory.
In the case of ballooning, the balloon driver would make a request of the guest VM to
see if it is able to free up memory to help deal with the physical memory shortage the
host is struggling with. If the balloon driver is able to identify excess memory, it would
free that memory back to the hypervisor. By using memory reservation with the VM your
SQL Server database is on, you avoid any of this happening to your database.
Lock Pages in Memory
Within the Windows operating system, there is a policy that enables you to authorize an
account in order to lock pages in memory. When dealing with a mission-critical SQL
Server database, we recommend that you lock pages in memory, which is illustrated in
Figure 7.10 . This provides a guarantee from the operating system to your SQL database
that it will always get the memory it has allocated. When the Lock Pages in Memory
policy and large pages are used together, the hypervisor will not be able to request the
guest VM attempt to balloon memory from the virtual machine on which your SQL
Server database is housed.
 
 
 
Search WWH ::




Custom Search