Tuning NT to allocate more memory to process working sets than to system cache

By: Borland Staff

Abstract: The InterBase server process, ibserver, has a small working set. Because of the small working set the server process will sometimes suffer from excessive paging.

Problem:
The InterBase server process, ibserver, has a small working set.  Because of
the small working set the server process will sometimes suffer from excessive
paging.

Solution:
**********************************************
The information in this article applies to:
* InterBase on NT
**********************************************

Note: This modification should only be performed on machines with a large
amount of RAM (at least 64MB).  Machines with a small amount of RAM may 
see a degradation in performance from this modification.

Each process has a set of pages held in memory.  This set of pages makes up the
"working set" for the process.  The larger the working set of a process the less
that process will have to go to disk to retrieve a required page.

Windows NT maintains a system cache in memory to hold recently accessed pages.
The memory that is allocated to this system cache takes away from the memory that
could be used in the ibserver's working set.   To improve the performance of InterBase 
the system must be tuned to favor ibserver's working set over the system cache.

Windows NT has a registry key that controls whether the system will use a large
system cache or not.  This value should be set to 0 to ensure that process working
sets are favored over the system cache.

The registry key that controls this is:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management

The value is called LargeSystemCache

Set this value to 0 so that the system will use a smaller system cache and devote more
available memory to process working sets.


Server Response from: ETNASC03