2016-11-15 2 views
0

J'ai un serveur MYSQL RAM de 32 Go. C'est toujours totalement nouveau et aucune base de données n'est attachée sauf celles par défaut. Cependant, quand je lance la commande free -m, je reçois le texte suivant:MYSQL consommation de RAM par défaut

 total  used  free shared buff/cache available 
Mem: 32768  2972  29718  10  76  29692 
Swap: 16384  0  16384 

Quand je pris contact avec l'hôte, on m'a dit que MYSQL consomme 10% de la mémoire principale par défaut et ils m'a conseillé de configurer les paramètres suivants:

key_buffer_size = 8192M 
myisam_sort_buffer_size = 10922M 
innodb_buffer_pool_size = 16384M 

Ces valeurs, je pense représentent la consommation maximale qui pourrait être allouée pas ce consommée par défaut et ils sont les valeurs recommandées par MYSQL. Par exemple 8192M/32768M (mémoire totale) = 25% qui est la valeur recommandée. Quelqu'un peut-il expliquer cette consommation de mémoire?

Répondre

3

Ces valeurs, je pense représentent la consommation maximale qui pourrait être allouée pas ce consommé par défaut

La piscine entière tampon InnoDB est allouée au démarrage du serveur, ce qui réduit la taille de innodb_buffer_pool_size réduira la première Empreinte mémoire utilisée par MySQL.

Je crois qu'il en est de même pour les autres tampons MySQL tels que key_buffer_size et myisam_sort_buffer_size. Toutefois, vous devez prendre en compte la charge de travail réelle du serveur lors de l'optimisation de ces paramètres. La quantité de mémoire utilisée au démarrage est sans importance; Ce qui est intéressant, c'est l'utilisation de la mémoire lorsque le serveur est utilisé avec de vraies bases de données. Comme vous avez mentionné (ailleurs) que vous utilisez Jelastic, vous devez supprimer la ligne #Jelastic autoconfiguration mark. de votre my.cnf (généralement sur/près de la ligne 1) si vous souhaitez régler manuellement ces paramètres; sinon, ils sont automatiquement mis à l'échelle pour s'adapter à la limite d'échelle de votre cloudlet (c'est-à-dire que vos modifications seront écrasées chaque fois que vous ajustez les limites de cloudlet ou que vous redémarrez MySQL).

0

key_buffer_size

La taille maximale de la variable key_buffer_size est de 4 Go de 32 machines de bit, et plus grande pour les machines 64 bits. MySQL vous recommande de garder la taille de key_buffer_size inférieure ou égale à 25% de la RAM sur votre machine.

innodb_buffer_pool_size

Gamme recommandée: 60 ~ 80%

MySQL 5.7 and it’s online buffer pool resize feature devrait en faire un principe plus facile à suivre.