Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/05/2006, à 13:06

jaywax

Limiter la consommation de mémoire de Mysqld

Salut à tous !

J'ai un serveur web (ok c'est pas de l'ubuntu, mais ca sera bientôt une sarge tongue) en prod au boulot qui plante ces derniers temps (plus aucun accés possible même ssh, pourtant il ping le bougre) :

[root@wka001 log]# more messages | grep mysqld
May 11 11:54:49 wka001 kernel: Out of Memory: Killed process 15574 (mysqld-max).
May 11 11:54:49 wka001 kernel: Out of Memory: Killed process 15576 (mysqld-max).
May 11 11:54:49 wka001 kernel: Out of Memory: Killed process 15577 (mysqld-max).
........
May 11 11:54:49 wka001 kernel: Out of Memory: Killed process 26976 (mysqld-max).
May 11 11:54:49 wka001 kernel: Out of Memory: Killed process 30669 (mysqld-max).
May 11 11:54:50 wka001 kernel: Out of Memory: Killed process 30709 (mysqld-max).
May 11 11:54:50 wka001 kernel: Out of Memory: Killed process 30726 (mysqld-max).
.......
May 11 11:54:50 wka001 kernel: Out of Memory: Killed process 13003 (mysqld-max).
May 11 11:54:50 wka001 kernel: Out of Memory: Killed process 13005 (mysqld-max).
......
May 11 13:24:45 wka001 kernel: Out of Memory: Killed process 15744 (httpd).
......
May 11 13:31:20 wka001 kernel: Out of Memory: Killed process 13635 (mysqld-max).
May 11 13:31:20 wka001 kernel: Out of Memory: Killed process 13645 (mysqld-max).
May 11 13:31:20 wka001 kernel: Out of Memory: Killed process 13646 (mysqld-max).
.....
May 11 13:31:20 wka001 kernel: Out of Memory: Killed process 16793 (mysqld-max).
May 11 13:31:20 wka001 kernel: Out of Memory: Killed process 16797 (mysqld-max).

Aprés enquête (Inspecteur Jaywax ! equiped), le coupable fut trouvé :
Un loulou d'un autre service fait tourner sur mysqld une requête récursive de la mort, pompant mes 3Go de Ram + toute la swap, rendant l'accés au serveur impossible (même en ssh).

Ayant cerné plus ou moins le problème, ma question est la suivante :
Peut on limiter la mémoire consommée par un processus (en l'occurence mysqld) ?

J'ai vu la commande ulimit qui permettrait de limiter ce genre de chose mais seulement dans un processus fils du bash (c'est pas trés clair pour moi) !

$ mysql -V
mysql  Ver 12.22 Distrib 4.0.16, for pc-linux (i686)
$ uname -a
Linux 2.4.20-28.7smp #1 SMP (oh le vieux noyau :P)

Merci pour vos réponses !

JaYw@x


O bé nan chui sotte c'est du souedois...

Hors ligne