From the comments on: http://iablog.sybase.com/paulley/2008/04/dynamic-memory-management/
With 32-bit Windows one is limited in address space to 2GB by default (one can set this to 3GB if one uses the /3GB switch: add the /3GB option to the Windows boot line in the “[operating systems]” section of the boot.ini file).
The maximal amount of address space that can be allocated by the SQL Anywhere server process is bounded by this address space setting – it varies by the variant of Windows, and is either approximately 1.8GB or 2.7GB (we document all of the OS variants with this information in our product documentation).
To simplify the following explanation, let’s stick to a 2GB address space bound. With a 2GB address space, a 32-bit server can operate with a maximal cache of 1.8GB. To use more physical memory than that, one can use Address Windowing Extensions (AWE) that bank-switches memory pages to and from the addressable portion of the server’s address space. Hence even with AWE, the server is still unable to directly address more than 1.8GB directly. AWE pages not addressable by the SQL Anywhere server can be images of table or index pages, but are by definition not part of the server’s working set of memory and cannot be addressed by the server process unless they are swapped in (and other memory pages already in addressable memory are swapped out to make room).
To answer your question, then: if my application can benefit from a larger cache size than is directly addressable by the server, then by all means use AWE extensions. However, with 64-bit versions of Windows, and 64-bit versions of SQL Anywhere, the need for AWE is eliminated because the server can directly address all of the available RAM on the processor.
The above description was assuming a 32-bit OS. The only changes from a move to a 64-bit OS and a 32-bit process vs a 64-bit process is that the base amount of memory increases to about ~3.6GB in a 32-bit process, then AWE is used. The same limitations about AWE still apply.
In short, always use the 64-bit database server on a 64-bit operating system where possible if you wish for the database server to directly use all of the memory (rather than have the expense of memory swapping to simulate this with a 32-bit AWE).
Also notably, AWE extensions (dbsrv12 -cw) are deprecated.
06 Feb '13, 08:56