Bagikan melalui


What’s in Enterprise only? (Large Memory Pages)

SQL Server leverages Windows Memory Manager’s Large-Page support which is particularly beneficial in 64-bit OSs with important amounts of physical memory (RAM). The idea behind this mechanism provided by the OS is to reduce TLB misses when accessing frequently used data structures.

The Windows APIs that let an application use large pages impose their own requirements like obtaining the SeLockMemoryPrivilege privilege (this means the account under which SQL Server is running must have been granted the “Lock Pages in Memory” privilege), or calling the memory allocation API (VirtualAlloc) with specific flag values (MEM_LARGE_PAGES). On top of those requirements imposed by the platform itself, SQL Server will only be able to use large pages to scale further on high-end systems (64-bit & over 8GB of RAM) if, among other requirements, the instance is an Enterprise Edition (or a Developer Edition or an Evaluation Edition, both of which behave exactly like the Enterprise does. The only difference among them three is their licensing.)

This post is part of the a series I decided to call “Understanding the value of the Enterprise Edition, one feature at a time” which I started in September 2011 and will grow on a weekly basis, having a new post incorporated to the family every Friday.