James W. McKelvey wrote:
> According to the 5.1 docs, I can have multiple key caches for MYISAM on
> a 32-bit host, each with up to 4G.
> But that means that each cache can take the entire address space of a
> process. How does the MySQL server get around the limitation?
If the OS fails to allow the memory allocation, then the request will
fail. That will stop your MySQL instance immediately.
The 4GB total limit is not something that 32 bit hardware can work
around easily as it is endemic to the fact that there are, at most, only
32 bits available for memory addressing.
What's even worse that that some Operating Systems will not provide the
full 4GB to the applications. They, such as Windows, only give about 2GB
to the processes and reserve the other 2 for the OS to use.
If you need to allocate more memory, it is best to upgrade to a 64 bit
machine running a 64 bit OS.
MySQL Principle Technical Support Engineer
Oracle USA, Inc.
Office: Blountville, TN