[pyar] Caches - Uso y desperdicio de RAM vs. CPU

Roberto Alsina ralsina en netmanagers.com.ar
Mar Mar 24 10:58:34 ART 2015


On 24/03/15 10:47, Alejandro Santos wrote:
> 2015-03-23 20:40 GMT+01:00 Marcos Dione <mdione en grulic.org.ar>:
>>      si, pero es distinto, porque el kernel maneja el tamaño de la la
>> caché de disco en el sistema de manejo de memoria al reclamar páginas
>> usadas para caché y dársela a la aplicación. en una aplicación ya estás
>> fuera del loop que se entera de los cambios de este estilo. tomar toda la
>> ram y dejar que el kernel la tire a swap cuando lo necesite es jugar con
>> fuego, porque tu aplicación considera que todas las páginas que pidió
>> están en memoria.
>>
> Si, el SO es omnisciente y si tiene páginas libres tiene todo el
> sentido de usarlas para buffer-cache.
>
> Pero con tu aplicación, vos podés controlar cuánta memoria querés
> asignarle a la cache/buffer/whatever en espacio de usuario. Queda en
> el usuario configurar la estructura en un tamaño razonable, si hay 8
> GB de RAM y el usuario le pone 16 GB al tamaño de la estructura, si,
> vas a tener trashing y la eficiencia va a ir por el piso. Lo mismo
> ocurre si tenés 8 GB de RAM física y le ponés 4 GB pero también tenés
> otras aplicaciones corriendo en la misma máquina, y la suma de toda la
> memoria que se le pide es más de 8GB.
>
> Al responderle a Andrés supuse que el usuario es razonable y entiende
> que si hay X RAM física, la sumatoria de todas las aplicaciones no
> pueden dar mayor X.

Tampoco es cierto que lo ideal es que la RAM sea usada solo por 
aplicaciones. Es hasta probable que sea mejor dejar que algunas 
aplicaciones se swapeen a disco y que parte de la RAM se use para cache 
de disco. Justamente de eso es de lo que habla lo que linkeé del sitio 
de Varnish :-)

Si tu aplicación hace su propio manejo de swap mandando cosas a disco, 
termina peleando con el sistema operativo, y terminás con peor thrashing 
que si dejás que el sistema operativo haga su laburo.


More information about the pyar mailing list