tags:

views:

454

answers:

2

Large pages are available in Windows Server 2003 and Windows Vista. But how do I enable large pages for my application?

+1  A: 

You will have to assign the "Lock pages in memory" privilege to any user that runs your application. This includes administrators

  1. Select Control Panel -> Administrative Tools -> Local Security Policy
  2. Select Local Policies -> User Rights Assignment
  3. Double click "Lock pages in memory", add users and/or groups
  4. Reboot the machine
Martin
+2  A: 

Martin's answer is correct on Windows Server 2003:

You will have to assign the "Lock pages in memory" privilege to any user that runs your > application. This includes administrators

  1. Select Control Panel -> Administrative Tools -> Local Security Policy
  2. Select Local Policies -> User Rights Assignment
  3. Double click "Lock pages in memory", add users and/or groups
  4. Reboot the machine

On Windows Vista you need also make sure that the application is run as Administrator (by right-clicking on the application or the shell and choosing "Run as adminstrator".

In addition, it helps to have a freshly booted machine since the large pages can "run out" due to fragmentation of the heap.

staffan
It's possible to "run out" but I am pretty certain I have seen Vista and 2008 doing a lot of swapping to disk when a bunch of large pages are requested, so I believe they use swap to clean out fragments.
Zan Lynx