You should only use the -chx option if you have performed testing to ensure that using additional address space does not affect
other components that use server address space such as DLLs that the server must load, ODBC drivers for remote table access,
network packet buffers, external stored procedures, and non-cache memory allocations.
DLLs that the server must load
ODBC drivers for remote table access
network packet buffers
external stored procedures
non-cache memory allocations
If you need a large cache, it is recommended that you use the 64-bit version of the database server on a 64-bit operating
The database server normally limits the cache size so that at least 512 MB of address space is reserved for use outside the
cache. If you want to specify a maximum cache size that reserves less address space for non-cache use the -chx option. This
option applies only to 32-bit database servers. Using larger cache sizes may lead to database server instability. This option
should be used with caution.
The maximum non-AWE cache size depends on the operating system. For example:
2.5 GB for Windows 32-bit Advanced Server, Enterprise Server, Datacenter Server, and Vista
3.5 GB for the 32-bit database server running on Windows x64 Edition
1.5 GB on all other 32-bit Windows operating systems
On Windows Mobile, the cache size is limited by available physical memory
On 64-bit database servers, the cache size can be considered unlimited
On 64-bit operating systems, -ch and -chx are equivalent, but -ch is recommended.
The size is the amount of memory, in bytes. Use k, m, or g to specify units of kilobytes, megabytes, or gigabytes, respectively.
The unit p is a percentage either of the physical system memory, or of the maximum non-AWE cache size, whichever is lower. You can use
% as an alternative to p, but on Windows, which uses % as an environment variable escape character, you must escape the % character.