Estou tendo muitos problemas com o mysql comendo muita memória RAM em uma pequena máquina e estou procurando por alguma ajuda para descobrir por que ela está comendo muito.
Eu tenho uma pequena máquina virtual com 256MB de RAM rodando Debian Wheezy. Neste servidor eu tenho o apache2 e o mysql instalados. Eu não faço muito neste servidor, apenas alguns sites levemente usados e um servidor de e-mail.
Por algum motivo, várias vezes ao dia, meu servidor mysql falha. Quando eu verifico meu syslog, encontro o seguinte erro:
kernel: [3323593.630722] Out of memory in UB: OOM killed process 9471
(mysqld) score 0 vm:327824kB, rss:37080kB, swap:0kB
Então, até onde eu sei, o mysql começa a consumir muita memória e é morto pelo sistema. Eu faço log de consultas lentas e mantenho uma aba no meu log mysql.err, mas eu não vejo nada de muito valor naquelas que me mostrariam porque o mysql começa a comer tanta memória.
Meu arquivo my.cnf tem estas opções definidas:
key_buffer = 8M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
query_cache_limit = 512K
query_cache_size = 8M
A outra coisa é que quando eu checo a quantidade de memória que está sendo usada quando eu inicio o mysql e mesmo durante o dia enquanto ele está rodando, eu normalmente tenho 128 MB livres. Eu não vejo como o mysql acabaria comendo essa quantidade.
O que posso fazer para rastrear este problema?