Mysql – Trying to allocate 3G for buffer pool in InnoDB fails

innodbMySQLwindows

I'm trying to boost my InnoDB driver on my Windows 7 PC since each page request takes just about 1.7 seconds to load versus 0.002 seconds on my Ubuntu 12.10 workstation.

The setting I'm playing around with is the well-known innodb_buffer_pool_size line, which should increase the performance a lot, and it did on my Ubuntu workstation – but my Windows 7 workstation can only seem to allocate 1G of RAM, my system currently have 16GB.

If I try to exceed 4GB I get [ERROR] innobase_buffer_pool_size can't be over 4GB on 32-bit systems, so I try to allocate 3G but now my server wont start, same goes for 2G. 1GB works but did only contribute to about 0.1s worth of speed increase – which isn't much.

Is there something more I have to account for on Windows to get better performance, and why can I not allocate more than 1G of RAM? (I get no errors when I try to allocate more than 1GB, the server just won't start)

Best Answer

Since

  • show variables like 'version_compile%'; gives you
    • version_compile_machine : x86
    • version_compile_os : Win32
  • Your OS is Windows 7 x64 OS

it looks like you simply need to upgrade the version of MySQL to the 64-bit Windows version.