Re: [Programación] alloc grande sin swap

Ernesto Savoretti esavoretti en gmail.com
Jue Jun 19 11:11:15 ART 2008


2008/6/19 Rafael Bidegain <r.bidegain en gmail.com>:

> Hola a todos.
>
> Anoche entre cervezas y nachos, en una meet de rubyes, alquien comentó
> [0] que es posible ocupar gran cantidad de memoria y lockearla para
> evitar swap y lograr rapidez en el proceso.
>
> como se implementa eso?
>
> //se me ocurre algo así:
> char *p;
> p = (char *) malloc(1024*1024*100);
>
> //Desde Ahora deberia el SO _NO_ debería mandar el contenido de p a swap.
> lock(p);
>
> //despues debería llamar a unlock y a free
>
> No, no me parece. Si tu aplicación es "pasada a segundo plano" por el SO,
por los motivos que fueren, este conserva la "soberanía" sobre que hacer con
la memoria (swapearla a disco, mantenerla en RAM, etc), de cada uno de los
procesos que están corriendo, y esto independientemente de como declaraste
el uso de esta memoria (en tu ejemplo, en heap).
Probablemente haya una respuesta a tu pregunta, pero... por el momento no la
tengo, voy a googlear a ver si encuentro algo. En cualquier caso, no creo
que haya una respuesta lineal y simple a una cuestión tan compleja y diversa
que es como cada SO maneja la memoria.

-- 

Ernesto Savoretti
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www.lugro.org.ar/pipermail/programacion/attachments/20080619/5d6f30a2/attachment.htm


Más información sobre la lista de distribución Programacion