[This discussion assumes that you are running SOS 2010 or later]
The best and simplest option for getting optimal performance from a large database is to run it on a 64 bit Windows system with an abundance of RAM. Ideally, you would have enough RAM installed in your system so that the entire database could be cached. In that case, allowing a larger cache is simply a matter of increasing the value in the –ch parameter in the STDALONE.PRM or SERVER.PRM file located in the SOS folder on your standalone SOS computer, or your SOS database server computer, respectively. If you have, for example, 12 GB of RAM in your 64 bit system, you could allocate 10 GB of that RAM for potential use as database cache by including:
in your PRM file.
Windows 32 bit platforms, however, normally would limit you to 1.8 GB, regardless of the amount of physical RAM in the computer. If you are running your database on a 32-bit version of Windows 7, or Server 2008 R2, you can make a simple modification to quickly boost the maximum RAM you can allocate for cache from 1.8 GB to 2.7 GB:
- Log into the system using an administrator-level account.
- Open a command window.
- Type bcdedit /set increaseuserva 3072
- Restart Windows.
The maximum cache size is configured by inserting or adjusting the –ch setting in the SERVER.PRM file located in the SOS folder on your SOS computer, or SOS database server computer. Although you can put most any valid setting in this file, it will be reset to the maximum available based on the usable RAM in your system. For example, if your SERVER.PRM contained the line:
indicating a high limit of 2,700 MB (2.7 GB) for database cache, the database engine will adjust it back to 1,800 MB when it starts. After executing the bcdedit command above, however, the defined high limit of 2.7 GB will be accepted by the database engine (2,700 * 1024 = 2,764,800K):
On a system with 4GB of physical RAM, you would not want to allocate more than 2.7 for database cache anyway, so this configuration is the best you can do. It will work reasonably well for databases up to about 5GB in size.
If you happen to have more than 4GB of physical RAM in your 32 bit Windows system running Windows Server Enterprise or Datacenter Edition, there is an option called AWE (Address Windowing Extensions) that can provide access to much more memory for you to use as database cache. If you happen to be in that situation, we would suggest that you call SOS to discuss your options.