Interesante posteo de Infosertec que nos explica de manera muy simple, para todos los mortales, en que consiste esta nueva mejora del Kernel que ayudaría a manejar de manera más eficiente los recursos de la PC
|
etiquetas: kernel , kernel linux , software libre
meneame.net/story/que-trae-kernel-linux-2.6.31
Por ejemplo: "la memoria RAM se utiliza solo para procesos o aplicaciones que se encuentren activas en el sistema". La RAM se usa para todos los programas que estén en marcha aunque no estén en ejecución, mientras haya memoria física disponible. Cuando ésta se agota se mueven los bloques de memoria menos usados a la swap.
El enlace de #5 sí que da una idea de las mejoras introducidas.
[...]si una aplicación se encuentra abierta y no esta siendo utilizada la misma dejara de usar memoria RAM para pasar a ser cargada en la memoria swap del disco rígido.
Eso no es cierto, sin más. La aplicación no pasa a swap si no está siendo utilizada, eso es una burrada
Los fundamentos de la memoria de intercambio (swap) son iguales para Windows, Linux y cualquier sistema moderno que implemente memoria virtual.
Lo que quiere decir (imagino), es que cuando no cabe todo en memoria y se hace necesario recurrir al swap para ejecutar las aplicaciones que pide el usuario, las cosas que se guarden en la memoria de intercambio se categoricen para que su recuperación sea más rápida.
Es decir... el swap es lento (es disco!), y (por lo que entiendo) quieren optimizar su uso. Pero vamos... explicado lo que es explicado, no sé yo
Ooops! Ya lo había dicho #9
No os ha pasado que cuando no usáis un programa abierto durante un tiempo y lo restauráis el disco duro empieza a leer mucho, eso es porque todas las páginas de la aplicación están en disco y se tienen que volver a cargar en memoria. De hecho se puede ver un contador que se llama Page Fault para eso.
Así que lo que se comenta en el artículo no es del todo cierto, en cuanto a la parte de Windows, sino te remito a que leas el Windows Internals.
En los equipos modernos hay muchisima memoria RAM disponible, cada vez mas, sin embargo en los portatiles y equipos antiguos es un recurso escaso, por otro lado depende de las aplicaciones que se estén utilizando, no es lo mismo tener pocas aplicaciones con gran consumo de memoria que muchas de poco consumo.
Mantener los programas en memoria y swapear (Dios que palabro) datos o hacerlo a la inversa depende de cada caso, realmente habría que emplear algoritmos que aprendan tanto de la configuración de los recursos del equipo como del tipo de programas que se está ejecutando en cada momento.
De hecho, precisamente lo que ocurría hasta hace poco era que windows sí paginaba las aplicaciones que no se usaban, mientras que linux optaba por una política más agresiva y sólo recurría al "swap" cuando ya no le quedaba RAM. Por lo que parece, van a cambiar esto e intentar determinar qué aplicaciones no se han usado recientemente, para paginarlas.
Mejora de la interactividad bajo presión de memoria: Las páginas de memoria marcadas como PROT_EXEC son páginas que normalmente pertenecen a programas y librerías que se están ejecutando, asi que debería estar cachearse muy bien para proporcionar buenas experiencias de usuario, porque si no están bien cacheadas, las aplicaciones de escritorio sufrirán largas pausas cuando las rutas de código de la aplicación salten a una parte del código que no está cacheada en memoria y tenga que ser releida desde el disco, que es muy lento. Debido a ciertas mejoras de escalabilidad en la gestión de memoria en los últimos kernels, hay ciertos tipos de carga (comunes) que pueden causar que esas páginas _PROT_EXEC_ sean enviadas a la lista de páginas respaldadas por sistema de archivos (las utilizadas para mapear archivos) que son inactivas y pueden ser borradas de la memoria. El resultado es un entorno de escritorio con poca interactividad: las aplicaciones empiezan a responder mal con demasiada facilidad.
En esta versión, se han aplicacion ciertas heurísticas para que sea mucho más dificil sacar a las páginas de código ejecutable de las listas de páginas activas. El resultado es una experiencia de escritorio mejorada: Benchmarks en escritorios con poca memoria miestran que el tiempo de reloj y las faltas "mayores" de memoria (cuando una aplicación salta a una parte del código que no está mapeada en la memoria) se reducen en un 50%, y los números de pswpin se reducen aproximadamente 1/3, eso significa que la interactividad de los escritorios se dobla en condiciones de presión de memoria. Benchmarks de "flusheado" de memoria en un servidor de archivos muestran que el número de faltas mayores cae de 50 a 3 durante lecturas "calientes" del caché.
Es sencillo, se trata de evitar que los ejecutables se transfieran a disco, aunque si se transfieran los datos del programa en marcha.
Menuda empanada tiene el colega, dios mío. Que quiten esto de portada...
#27 Pero la swapiness no diferencia entre ejecutables y datos.
Sin intención de parecer que defiendo a windows, una de las cosas que más se critico de vista fue el consumo de RAM. EMHO es lo suyo, usar la ram y no la swap, pero es que win siempre usa swap, aunque tenga memoria de sobra. Mi máquina ahora:
total used free shared buffers cached
Mem: 2065072 904704 1160368 0 65168 468048
-/+ buffers/cache: 371488 1693584
Swap: 2996080 0 2996080
Si hay RAM ¿por que no usarla? es lo mas rápido. Siempre y cuando no uses strigi y nepomuk