Buffer Pool Size limited by mysql kernel?


Our database size is 16 GB, and contains almost exclusively InnoDB tables. Our Buffer Pool size is set to 2 GB. I read that larger Pool size yields better performance and it should be set to at least the size of the database or even 20 % larger to accommodate for database growth.

We are using Linux Kernel 2.6.18. It is a 64 Bit machine. MySQL 5.0.44 is installed.

Is there a limit (by Linux Kernel?) how large the Buffer Pool Size can be set to?

The memory on our machine is currently 7.5 GB, but we are considering to increase it (to over 16GB?) [and subsequently increase Buffer Pool Size), hoping it will improve our database performance.

Thank you!

There’s a catch for very large buffer pools, but 13GB would be np for your current hardware. Just watch out with 50GB on newer hardware.

gmouse - thanks for the input.

A related question: If the database size is ~16 GB (all tables are InnoDB) and InnoDB Buffer Pool Size is set to let’s say 20 GB, can we assume that the whole database would be loaded into memory, greatly increasing performance (i.e. by totally eliminating disk access)?

Thank you!