On Sun, Sep 27, 2015 at 01:46:14PM +0200, José Miguel (sio2) wrote:
> Parece que hay memoria libre, pero si por:
> 
> vm.overcommit_memory = 2
> 
> no se puede ocupar más del 50%RAM+SWAP (6GB de memoria) con lo cual es
> plausible pensar que se llegó a ese límite cuando no podía acceder al
> servidor.

Esto es lo que te decía antes. Si no dices nada más entonces la memoria
que puede asignar es swap + 50% de la RAM.

Si tienes 2GB de swap y 8GB de RAM, te estás limitando a usar 6 GB de
memoria en total. Pero tienes 8 GB así que estás desaprovechando
completamente 2 GB de RAM de la forma más escandalosa.

Si de verdad no quieres que pida más de 8 Gigas, sube el SWAP a 4 Gigas
manteniendo la regla de SWAP + 50% de RAM. Pero incluso así estarías
desaprovechando la memoria disponible. Si las aplicaciones "piden" el
doble de lo que realmente necesitan y decides darles 8 Gigas como
máximo, entonces solamente llegarás a usar 4 GB de verdad.

Por supuesto que es una exageración, pero es para que te hagas una idea.

Otra posibilidad es dejarle que use *toda* la memoria disponible:

vm.overcommit_memory = 2
vm.overcommit_ratio = 100

> @ManoloDiaz
> > Sugiero que investigues el ajuste OOM score, se hace por procesos y
> > creo que systemd lo gestiona sin dificultad. Así podrías establecer
> > una jerarquía para ver cuáles son los últimos en ser aniquilados por
> > el núcleo cuando empieza a faltar memoria.
> 
> Pues no tenía ni idea de esto. He ido a mirar y he visto que el SSH
> tiene, así sin tocarlo, el oom_score_adj a -1000. O sea, que el
> oom-killer no se lo cargará, cosa que me interesa.

No te interesa que se cargue *ningún* proceso.

Esto del OOM killer en realidad es una aberración. Es como si unas
líneas aéreas deciden que cuando un avión está bajo de combustible
se elige un pasajero al azar y le dan al botón de "eject" para
ese pasajero.

Mejor lee el original de Andries Brouwer:

https://lwn.net/Articles/104185/

No pierdas el tiempo haciendo "ajustes" del OOM killer. Es como si te
andaras rompiendo la cabeza afinando el algoritmo por el que se decide
qué pasajero expulsas del avión...

Responder a