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

Roberto Alsina ralsina en netmanagers.com.ar
Mar Mar 24 11:12:28 ART 2015


On 24/03/15 11:08, Andres Riancho wrote:
> 2015-03-24 10:58 GMT-03:00 Roberto Alsina <ralsina en netmanagers.com.ar>:
>> 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.
> Ojo que nunca dije que pensaba hacer eso de hacer mi propio swap.
> Cuando mencione swap era para evitarlo completamente, es decir,
> reducir el tamaño de mi cache cuando veo que hay poca memoria real
> disponible (para evitar swap del OS) y elevar el tamaño del cache
> cuando veo que si hay memoria disponible (para usar mejor los recursos
> de RAM y evitar desperdiciar CPU)

Y no usás disco en absoluto? En ese caso sí.



More information about the pyar mailing list