[eside-ghost] Crear proceso devorador de memoria :-)

Jon Valdés juanval en gmail.com
Dom Abr 27 10:36:34 CEST 2008


Wow, genial explicación. Muchas gracias por la info :)
Tema curioso este del OOM killer...

Taluegoooo

On Wed, Apr 23, 2008 at 10:57 AM, Jon Ander Ortiz <jonbaine en gmail.com> wrote:
> Buenas!!!!
>
> Voy a comentar un tema curioso, cuanto menos, pero que hay que tener en
> cuenta:
> El oom killer salta cuando no hay mas memoria disponible, peeeero hay que
> tener en cuenta cómo Linux hace la gestion de memoria, depende de como lo
> hagamos el oom killer salta en un momento o en otro.
>
> Me explico:
> En linux se hace la asignacion de paginas en diferido, es decir, que, por
> ejemplo cuando hacemos un fork, no duplica todas las paginas del proceso
> padre en el mísmo fork, sino UNICAMENTE cuando escribimos en las mismas.
> Esto aplica, porque, linux, permite alocatear mas memoria que la que tenemos
> instalada (ram+swap), siempre y cuando no la utilicemos. Debido al
> planteamiento optimista que utiliza, no duplica la memoria, sino que nos
> asigna la misma memoria a N peticiones y la duplica cuanto la utilizamos.
>  Esto, implica por ejemplo, que haya diferencias sustanciales entre hacer el
> ejemplo de juanval y este otro:
>
>
>
>  #include "stdlib.h"
>  #include "stdio.h"
>
> void main()
>  {
>     int acum = 0;
>     void * p;
>     for(;;)
>     {
>
>         p = malloc(sizeof(char)*1024*1024);
>        memset(p, 1, 1024*1024);
>         acum++;
>         printf("Alocados %i MB de memoria\n",acum);
>     }
>  }
>
> En los ejemplo que aparecen en el link de abajo, con un ejemplo como el de
> Juanval -> Saltaba el oom 3056 Mb
> Si utilizamos la memoria que alocateamos, Saltaba el oom 1081Mb (Tenia 256MB
> RAM  + 888MB Swap)
>
> Explicado perfectamente aqui, o sino , sheroc, me lo explicó en su día podrá
> echar mas luz sobre el asunto:
> http://www.linuxdevcenter.com/lpt/a/6808
>
> Un saludo:
>  Jonan
>
>
> _______________________________________________
>  eside-ghost mailing list
>  eside-ghost en deusto.es
>  https://listas.deusto.es/mailman/listinfo/eside-ghost
>


Más información sobre la lista de distribución eside-ghost