El domingo, 27 sep 2015 a las 21:05 UTC Santiago Vila escribió: > On Sun, Sep 27, 2015 at 07:32:26PM +0200, Manolo Díaz wrote: > > > No es muy elegante, pero no creo que los desarrolladores de Linux se > > hayan levantado un día aburridos y decidieran programar una aberración. > > Parece que las soluciones obvias al límite de la memoria son (aparte de > > aumentarla) o eliminar procesos, o impedir que se lancen nuevos. > > Y te ofrecen que elijas entre dos soluciones nada elegantes. > > La verdad siempre es más elegante que la mentira. > > Los procesos piden memoria y el núcleo les dice, "toma, aquí la tienes", > pero en realidad es mentira, si todos los procesos usaran la memoria > que han pedido y en teoría les ha sido concedida resulta que no hay > para todos. > > "Ay, no, que te he dado una memoria que en realidad no tengo, ahora > por pretender usar la memoria que te he dado y para enmendar mi error, > vas a morir". > > No sé qué harán los desarrolladores de Linux cuando estén aburridos, > pero esto del overcommit, y después de leer todo lo que he podido > sobre el tema, me parece una chapucilla. >
Pero es que no hay solución ideal. Al ajustar overcommit respondes una pregunta sobre una situación límite: qué hago si me quedo sin memoria. Porque si ponerse a aniquilar procesos para desalojar memoria es un disparate, lo que le ha sucedido a José Miguel tampoco se queda atrás, y dejar que las aplicaciones en curso vayan fallando estrepitosamente no es la alegría de la huerta (¿vm.overcommit_memory = 1?). -- Manolo Díaz