InnoDB and Memory Allocation
am 20.04.2011 05:07:21 von Johnny Withers--0016e6dbe8f05e8be204a150ec02
Content-Type: text/plain; charset=ISO-8859-1
I hope someone can help me out here. I'm having trouble with some new
servers and memory allocation.
Some basic specs on the servers:
32GB total mem
2GB swap
64-bit RHEL
64-bit mysqld
overcommit_memory=2
mysql fails to start with 14GB innodb_buffer_pool_size
mysql will start with 12GB buffer pool setting
When overcommit_memory is set to 0, mysql starts with 26GB buffer pool.
I'm trying to overcome a problem where running with overcommit_memory=0
causes the oom-killer to eventually take over and start killing things. This
usually causes the entire box to become unresponsive and has to be reboot
from the console. I've read that setting overcommit_memory=2 will cause
malloc() to fail and the offending program to crash. I would rather this
happen than the oom-killer take over. Why can't mysql allocate more than
~14GB when this is set to 2 though? Does anyone else have any experience
with this?
Some more detailed specs about the machine and mysql:
free -m reports 28GB free (32 GB +/- buffers)
[root@p2383075 ~]# 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) 270336
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) 270336
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
/usr/libexec/mysqld: ELF 64-bit LSB executable, AMD x86-64, version 1
(SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for
GNU/Linux 2.6.9, stripped
mysql> show variables like '%version%'\G
*************************** 2. row ***************************
Variable_name: version
Value: 5.0.77-log
*************************** 4. row ***************************
Variable_name: version_comment
Value: Source distribution
*************************** 5. row ***************************
Variable_name: version_compile_machine
Value: x86_64
*************************** 6. row ***************************
Variable_name: version_compile_os
Value: redhat-linux-gnu
Thanks!
--
-----------------------------
Johnny Withers
601.209.4985
johnny@pixelated.net
--0016e6dbe8f05e8be204a150ec02--