4 votes

InnoDB : Fatal error : cannot allocate memory for the buffer pool (erreur fatale : ne peut pas allouer de mémoire pour le pool de tampons)

MySQL semble tomber en panne assez souvent, je dirais toutes les heures environ.

La seule chose qui tourne sur ce serveur et qui utilise MySQL est une installation Drupal sur laquelle je travaille. Il n'y a qu'une seule personne qui l'utilise et il a littéralement environ trois pages - d'après ce que je peux comprendre, cela semble être un problème de mémoire avec innoDB ? Je ne suis pas très doué pour ce genre de choses, donc je ne suis pas sûr.

Des conseils ? Voici les parties pertinentes de mon 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
Le serveur est le Droplet DigitalOcean le plus bas de gamme avec 512 Mo de RAM. Ce Droplet particulier utilise NodeJS, MySQL et Apache. Il y a un site statique à faible trafic, un blog Ghost et ce site Drupal que je développe.

Devrais-je simplement mettre à niveau la RAM ou y a-t-il quelque chose que je puisse faire pour résoudre ce problème ?

2 votes

C'est un problème de mémoire. De combien de mémoire disposez-vous ?

0 votes

C'est le Droplet DigitalOcean le plus bas de gamme, 512MB de RAM. Il fait tourner NodeJS, Apache et ce site Drupal. Très peu de trafic, utilisé principalement pour le développement.

2voto

akuzminsky Points 718

MySQL ne démarre pas car il ne peut pas allouer 128M pour le buffer pool InnoDB.

Vous devez soit définir une taille inférieure pour innodb_buffer_pool_size, soit limiter le nombre de processus Apache afin qu'ils ne consomment pas toute la mémoire. J'ai eu le même problème et l'ai décrit dans un blog

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X