mysql 9804 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9807 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9808 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9809 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9810 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
[ ... repeated output truncated ... ]
Ils n'utilisent pas 13 * 50 Mo de RAM - Ils utilisent probablement quelque chose comme 70 Mo au total . N'oubliez pas que Linux partagera des pages de mémoire non modifiées entre les processus, donc si votre serveur est fraîchement démarré, la majeure partie de cette mémoire sera partagée. En fait, puisque mysql est threadé, il y aura probablement encore moins de mémoire allouée par thread. Si vous êtes préoccupé par l'utilisation de la mémoire de chaque processus mysql, regardez /etc/mysql/my.cnf
et regardez les variables dans la section mysqld:
key_buffers
thread_stack
thread_cache_size
max_connections
query_cache_limit
query_cache_size
Soyez averti cependant, que ce sont des variables très puissantes à régler, et vous pouvez facilement tuer vos performances mysql en les réglant trop bas, ou gaspiller de la mémoire qui pourrait être utilisée ailleurs en les réglant trop haut.
Un point de départ facile pour déterminer la meilleure façon de régler votre instance mysql est d'exécuter votre application pendant un petit moment, puis d'exécuter le script mysqltune à partir d' ici , qui analysera vos compteurs de performances, puis produira une recommandation sur ce que vous devez modifier dans la configuration de votre serveur.
mysqltune
, merci très utile. En outre, on peut utiliserhtop
pour colorer nos threads et voir la mémoire réelle utilisée par processus.Linux affiche les threads comme des processus séparés. MySQL démarre un thread par connexion. Courir
ps
avecf
. Par exemple,ps auxfw
affichera la relation entre les threads.Combien de connexions existe-t-il avec MySQL? Exécutez
show full processlist;
dans le client MySQL. D'après ce que vous montrez, je ne suis même pas sûr qu'il y ait quelque chose de mal.la source
show full processlist
il y a 2 connexions à la base de données. L'un d'eux étant localhost en cours d'exécutionshow full processlist
, l'autre est aussi moi, via phpmyadmin. Il ne devrait plus y avoir de connexion car le site n'est pas encore en ligne ...Vous voudrez peut-être essayer MySQLTuner que j'ai trouvé très utile, il vous suggérera laquelle des variables de configuration vous devriez essayer d'ajuster.
la source