MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
Depuis qu'on a activé myisam_use_mmap=1 pour booster nos vieilles tables MyISAM, le serveur crash 1-2x/semaine. Stack trace pointe vers mysqld+0x2a5bc3. Quelqu'un a déjà vu ça ? Version MySQL 5.7.37 sur Debian 11.
-
codeur1974
- Messages : 185
- Inscription : dim. mars 17, 2024 7:24 pm
Re: MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
MyISAM en 2023... Courage ! Plus sérieusement, vérifie tes ulimit -v. Le mmap peut exploser si la table grossit pendant les opérations.
Re: MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
ulimit est à unlimited (serveur dédié). Et on ne peut pas passer en InnoDB : l'appli legacy utilise des FULLTEXT avec stopwords custom...
Re: MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
J'ai eu exactement ça ! Solution : myisam_use_mmap=1 AVEC myisam_mmap_size=256M (à ajuster). Et obligé de réduire key_buffer_size à 1G max.
Re: MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
Merci ! Je teste ça dès ce soir. Question bête : pourquoi key_buffer_size influence le mmap ?
Re: MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
Parce que MyISAM est une bête bizarre
En vrai c'est lié à la gestion mémoire interne. Le mmap vient en plus du buffer classique, et si le système overcommit est activé... boom.
-
devjunkie.m
- Messages : 54
- Inscription : mar. sept. 12, 2023 7:25 pm
Re: MySQL : myisam_use_mmap cause des crashs aléatoires (Debian 11)
Sinon migratez vers MariaDB, leur implémentation MyISAM est plus stable sur ce point précis. Testé en prod depuis 18 mois sans crash.
Un Live USB toujours dans la poche