Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[OpenBSD] mysqld out of memory

2 réponses
Avatar
Pierre
Bonjour,

Sur mon OpenBSD 4.0 (stable), j'ai un petit soucis avec mysqld (issue
des ports, version 5.0.24a). Ma base est assez importante (8 Go). J'ai
donc configure mon /etc/my.cnf en consequence.
Mais de temps en temps, j'ai ceci dans les logs :
[ERROR] Out of memory; check if mysqld or some other process uses all
available memory
(=2E..snip...)
key_buffer_size=3D536870912
read_buffer_size=3D2093056
max_used_connections=3D37
max_connections=3D100
threads_connected=3D34
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size +
sort_buffer_size)*max_connections =3D 933487 K bytes of memory

Mon mysql est lance sous l'utilisateur _mysqld (su -c _mysql root -c '/
usr/local/bin/mysqld_safe &') et j'ai modifie mon login.conf en
consequence :
_mysql:\
:datasize=3Dinfinity:\
:datasize-max=3Dinfinity:\
:maxproc=3Dinfinity:\
:openfiles-cur=3Dinfinity:\
:openfiles-max=3Dinfinity:\
:stacksize-cur=3Dinfinity:\
:localcipher=3Dblowfish,8:\
:tc=3Ddefault:

Je precise que mon serveur dispose de 2.5Go de RAM et qu'au moment du
plantage, j'ai encore 1.5Go de RAM dispo (la swap est pas touch=E9e).
Ma question : comment puis je faire pour que mysql puisse prendre
toute la ram dont il a besoin et ne plus avoir ses plantages ? J'ai
loupe qqchose dans mon login.conf ? Une limitation ailleurs ?
Merci

2 réponses

Avatar
Miod Vallat
Je precise que mon serveur dispose de 2.5Go de RAM et qu'au moment du
plantage, j'ai encore 1.5Go de RAM dispo (la swap est pas touchée).
Ma question : comment puis je faire pour que mysql puisse prendre
toute la ram dont il a besoin et ne plus avoir ses plantages ? J'ai
loupe qqchose dans mon login.conf ? Une limitation ailleurs ?


L'userland sur OpenBSD/i386 est limité à 1GB de données.

Il s'agit là d'une limitation imposée par des mécanismes de sécurité et
qu'il n'est pas possible de modifier.

Avatar
Pierre
On 15 fév, 19:29, Miod Vallat wrote:
Je precise que mon serveur dispose de 2.5Go de RAM et qu'au moment du
plantage, j'ai encore 1.5Go de RAM dispo (la swap est pas touchée).
Ma question : comment puis je faire pour que mysql puisse prendre
toute la ram dont il a besoin et ne plus avoir ses plantages ? J'ai
loupe qqchose dans mon login.conf ? Une limitation ailleurs ?


L'userland sur OpenBSD/i386 est limité à 1GB de données.

Il s'agit là d'une limitation imposée par des mécanismes de sécur ité et
qu'il n'est pas possible de modifier.


Voila qui n'est pas pour m'arranger... Il s'agit vraiment d'une limite
"infranchissable" ou bien y a t'il possibilité (en changeant une
option et en recompilant le noyau par exemple) de modifier cette
limite. Ma base etant censée encore grandir...
Merci