Désactiver la gestion préventive de la mémoire

gnome-utilities-terminal-64_0Si l’OOM killer se déclenche sur votre serveur alors qu’il reste une bonne quantité de mémoire, conduisant au quasi crash du serveur (kill du serveur X, mysql, SSH, …), alors il vous sera peut-être nécessaire de changer le comportement de celui ci pour le désactiver.

Cela se voit par des messages du genre « invoked oom-killer » dans les logs systèmes:

...
Jan 28 00:52:58 box kernel: [15199.058126] mysqld invoked oom-killer: gfp_mask=0x44d0, order=2, oomkilladj=0
Jan 28 00:52:58 box kernel: [15199.058145] Pid: 5572, comm: mysqld Not tainted 2.6.28-17-generic #58-Ubuntu
Jan 28 00:52:58 box kernel: [15199.058158] Call Trace:
Jan 28 00:52:58 box kernel: [15199.058183]  [] ? printk+0x18/0x1a
Jan 28 00:52:58 box kernel: [15199.058204]  [] oom_kill_process+0x75/0x210
Jan 28 00:52:58 box kernel: [15199.058222]  [] ? select_bad_process+0xc3/0x100
Jan 28 00:52:58 box kernel: [15199.058239]  [] out_of_memory+0xa2/0x140
...

Pour changer ce comportement, il suffit de faire

sudo -i
echo 2 > /proc/sys/vm/overcommit_memory

Pour conserver ce changement au redémarrage

sudo cp /etc/sysctl.conf /etc/sysctl.conf.org
echo "vm.overcommit_memory = 2" | sudo tee -a /etc/sysctl.conf

Flattr this!

Vus : 799
Publié par Jos : 18