Specs -
MySQL 5.0.x , Redhat 5.9 , Physical memory - 16GB
I am trying to set innodb buffer pool size to 8GB (innodb_buffer_pool_size=8G). When i do, and start mysql, i get following error -
InnoDB: Error: cannot allocate 8589950976 bytes of
InnoDB: memory with malloc! Total allocated memory
InnoDB: by InnoDB 37679104 bytes. Operating system errno: 12
InnoDB: Check if you should increase the swap file or
InnoDB: ulimits of your operating system.
Here is output of free -m -
total used free shared buffers cached
Mem: 15922 15269 653 0 248 4275
-/+ buffers/cache: 10744 5178
Swap: 2047 0 2047
Here is output of ulimit -a -
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 127352
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 127352
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
I checked file '/etc/security/limits.conf'. Nothing in there. All lines are commented (start with #). Checked directory '/etc/security/limits.d/', empty.
Something is preventing allocation of more than 4GB of memory to MySQL. Not sure what.
Any ideas?
Danke.
SELECT SUM(data_length + index_length) POWER(1024,3) innodb_space FROM information_schema.tables WHERE engine='InnoDB';
my.cnf
into the question