InnoDB: Erro fatal: não é possível alocar memória para o buffer pool

4

MySQL parece estar travando com bastante freqüência, eu diria a cada hora ou assim.

A única coisa que está rodando neste servidor que está usando o MySQL é uma instalação do Drupal em que estou trabalhando, há apenas uma pessoa que o está usando e literalmente tem cerca de três páginas - pelo que eu entendo isso parece ser um problema de memória com o innoDB? Eu não sou muito bom com essas coisas, então não tenho certeza.

Alguma orientação? Aqui estão as partes relevantes do meu error.log

140216 14:20:01 [Note] Plugin 'FEDERATED' is disabled.
140216 14:20:01 InnoDB: The InnoDB memory heap is disabled
140216 14:20:01 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140216 14:20:01 InnoDB: Compressed tables use zlib 1.2.3.4
140216 14:20:01 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(135987200 bytes) failed; errno 12
140216 14:20:01 InnoDB: Completed initialization of buffer pool
140216 14:20:01 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140216 14:20:01 [ERROR] Plugin 'InnoDB' init function returned error.
140216 14:20:01 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140216 14:20:01 [ERROR] Unknown/unsupported storage engine: InnoDB
140216 14:20:01 [ERROR] Aborting

140216 14:20:01 [Note] /usr/sbin/mysqld: Shutdown complete

140216 14:20:02 [Note] Plugin 'FEDERATED' is disabled.
140216 14:20:02 InnoDB: The InnoDB memory heap is disabled
140216 14:20:02 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140216 14:20:02 InnoDB: Compressed tables use zlib 1.2.3.4
140216 14:20:02 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(135987200 bytes) failed; errno 12
140216 14:20:02 InnoDB: Completed initialization of buffer pool
140216 14:20:02 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140216 14:20:02 [ERROR] Plugin 'InnoDB' init function returned error.
140216 14:20:02 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140216 14:20:02 [ERROR] Unknown/unsupported storage engine: InnoDB
140216 14:20:02 [ERROR] Aborting

140216 14:20:02 [Note] /usr/sbin/mysqld: Shutdown complete

EDITAR
O servidor é o Drop DigitalOcean de menor especificação com 512MB de RAM. Este Droplet específico está executando o NodeJS, o MySQL e o Apache. Há um site estático de baixo tráfego, um blog do Ghost e este site do Drupal que estou desenvolvendo.

Devo apenas atualizar a RAM ou há algo que eu possa fazer para corrigir isso?

    
por Luke Berry 16.02.2014 / 15:24

1 resposta

2

O MySQL não inicia porque não pode alocar 128M para o buffer pool do InnoDB.

Você tem que definir innodb_buffer_pool_size ou limitar o número de processos do Apache para que eles não consumam toda a memória. Eu tive o mesmo problema e o descrevi em um blog

    
por 16.02.2014 / 15:32