Question: How do I implement
largepages on Widows? What are the benefits of using
largepages for Windows?
Answer: The largepages feature of
Windows create RAM frames of 16 megabytes and allows you to
create very large memory regions for Oracle systems on
Windows.
Also see my important notes on
Oracle large pages.
Oracle large pages are
functionally equivalent to huge pages in Linux. Large pages
are an operating system construct similar to RAM "fencing"
which pins the RAM, making it ineligible for swapping.
Oracle large pages locks- out any defined portion of system
memory for large items, and Oracle large pages are commonly
used for the Oracle SGA RAM region.
Moving the SGA exclusively into large page system memory,
ensures that there are no swaps (vmstat page-out or page-in
operations) from SGA operations, and Oracle large pages
removes a significant amount of pressure from the SQL cache
(shared_pool_size, db_cache_size, &c).
There are two steps to implement largepages for Windows:
STEP 1: In order to get largepages to work you must
also set the "oracle" Windows user to possess the "lock
pages in memory" privilege:
1. Choose ->settings->control panel,
double click on Administrative Tools
2. Double
click Local Security Policy
3. In the left-hand pane, expand
Local Policies and choose User Rights Assignment.
4. In the
right pane of the local security policy settings, select
Lock Pages In Memory, choose Action->Security
5. Click "add"
button
6.
Select the Oracle user from the name list
7. Click the
"add" button
or
WINDOWS 2003
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
STEP 2: Using regedit, set the Oracle Windows
registry entry ora_lpenable for large page support:
"ORA_LPENABLE" = "1"
This tells Oracle to use the
Large Page feature (available in Oracle9i 64-bit for Windows
and Oracle 32-bit and 64-bit for Windows).