Linux 2.6.31 mejorará el rendimiento del desktop con poca memoria

En la próxima versión del kernel de Linux se incluirá un cambio que mejorará el rendimiento del desktop en condiciones de poca memoria.  Básicamente lo que se hizo fue cambiar la forma en que se decide qué parte de la memoria se debe mover a disco (swap).

En el esquema tradicional, la memoria usada por el código se considera como equivalente a la usada por los datos a la hora de copiarlas al disco cuando la memoria es insuficiente.  Esto provoca que las aplicaciones detengan temporalmente su ejecución cuando el código que necesitan se encuentra en disco.

Para evitar este problema, el código ejecutable tendrá una marca especial para que el sistema operativo haga lo posible por mantenerlo siempre en memoria, sin llevarlo a disco.  El cambio es bastante pequeño, pero los resultados son interesantes.

En pruebas realizadas se detectó que en un escritorio corriendo OpenOffice, Firefox y el entorno GNOME con 512MB, la necesidad de copiar segmentos de memoria desde el disco a RAM se redujo a la mitad, mientras que la cantidad de segmentos que se trajeron desde el disco se redujo a sólo un tercio.  Esto implica que el tiempo necesario para hacer swap se redujo como mínimo a la mitad.

Bonus Track: Memoria física y memoria lógica

En un sistema operativo existe el concepto de memoria física y memoria lógica.  La memoria física es la que provee el hardware (1GB, 2GB, etc).  La memoria lógica es la que ven las aplicaciones.  La memoria lógica se divide en páginas de tamaño fijo y se va asignando a las aplicaciones a medida que éstas lo requieran, el sistema operativo internamente tiene una tabla en donde dice en qué parte de la memoria física está cada página de la memoria lógica, lo que se conoce como mapa de memoria.

Entre todas las aplicaciones se puede usar más memoria lógica que la que se dispone físicamente. Como no se necesita usar toda la memoria al mismo tiempo, algunas páginas que estaban en la memoria física se guardan en disco mientras no se ocupen, luego si se necesitan se traen de vuelta del disco a la memoria física.  Eso es lo que se conoce como swap o intercambio.

Mientras más memoria tenga el equipo, es menor la necesidad de mover páginas al disco, y por lo tanto menor el tiempo perdido en esperar a que las páginas se copien desde o hacia el disco.  Pero si la memoria es poca, frecuentemente se necesita usar el disco para hacer espacio en memoria física, lo que hace que el sistema se comporte más lento.

Con el cambio aplicado en Linux 2.6.31, se mejora la estrategia para decidir qué páginas deben sacarse de RAM cuando hay poca memoria disponible, de tal forma de dejar en memoria física aquellas que se usen intensivamente, eliminando la necesidad de usar el disco.

Link: Make mapped executable pages the first class citizen (log de cambio en el kernel)

Compartir Compartir
Publicado por Franco Catrin el 8 de September 2009 en la categoría Destacados, Software con los tags , . Tiene 84 comentarios.

84 Comentarios

Linux 2.6.31 mejorará el rendimiento del desktop con poca memoria

Deja tu Comentario ↓
Franco Catrin

Franco Catrin dijo el 8-9-2009 a las 16:43:

31

@Tezeract

El tema es que hoy puedes usar un sistema de escritorio completo con 512MB, pero ese mismo hardware ahora Linux funcionará mejor. Independiente de que en algunos casos puedas armarte un sistema ad-hoc con mucho menos que eso.

Lo que dice @Fakeroot también es cierto, otros usuarios también se verán beneficiados, todo depende de las aplicaciones que corras.

Franco Catrin

Franco Catrin dijo el 8-9-2009 a las 16:48:

32

@Mrivera

Efectivamente. Gracias!
Irónicamente había quedado mal por corregir otro error de redacción

Linux

DesaprobarAprobar1Linux dijo el 8-9-2009 a las 16:52:

33

Excelente, pero cada distro está hecha para cada arquitectura de PC’S, no les voy a estar metiendo GNOME o KDE a un PC con 24 o 32 de RAM, hay que ser harto weon…
Es lógico que cada nueva versión de Kernel implica mejor rendimiento tanto en hardware como en software….

Ver Comentario... Mr. X dijo el 8-9-2009 a las 16:52 ...

Hugo

DesaprobarAprobar6Hugo dijo el 8-9-2009 a las 16:53:

35

Yo tendría cuidado en que escribir como comentario cuando el que escribe el artículo es Franco… Siempre saca algo que deja marcando ocupado al que comenta un dato técnico (lo del 80386 se pasó).

De todas maneras se agradece tal entusiasmo en interactuar con los lectores y darse el tiempo de corregir hasta al más sibilino de los lectores/aportadores.

Omeg@

DesaprobarAprobar-7Omeg@ dijo el 8-9-2009 a las 17:02:

36

Que bien ahora podre programar bien! pffff

Tezeract

DesaprobarAprobar4Tezeract dijo el 8-9-2009 a las 17:04:

37

@Franco et al.

Se agradecen los replies. Sin embargo la idea es entender el comentario como tal, y no como una batalla por tener la última palabra. Generalmente comento en los articulos que me interesan y no con la intención de iniciar un flamewar.

Cub0x

DesaprobarAprobar1Cub0x dijo el 8-9-2009 a las 17:06:

38

Muy Buen Articulo por lo menos existe gente que si se da el tiempo en la redacción para un Blog =).

Saludos Franco.

nosekefik

DesaprobarAprobar1nosekefik dijo el 8-9-2009 a las 17:07:

39

Pero este kernel ya existe, yo lo estoy usando en este instante!!!

Samy

DesaprobarAprobar4Samy dijo el 8-9-2009 a las 17:08:

40

@ Franco
Notable la noticia y más aún el bonus track. Estoy seguro que si fayerwayer tuviese más “Francos Catrines” sería un blog mejor.

Efectivamente. Gracias!
Irónicamente había quedado mal por corregir otro error de redacción

Ojalá pudieras contagiar ese profesionalismo de revisar tus artículos a tus compañeros de trabajo en FW. De verdad, a veces hay noticias que hasta se entienden mal por los problemas de redacción.

Franco Catrin

Franco Catrin dijo el 8-9-2009 a las 17:11:

42

@nosekefik

No es raro, siempre se puede usar antes de que las distribuciones lo adopten, antes que se haga el release oficial, etc. etc.

mrjavo

DesaprobarAprobar1mrjavo dijo el 8-9-2009 a las 17:15:

43

Cual es la definicion actualmente para “poca memoria”?? Cual seria la mejor config. para un PIII con 192 de ram??

Samy

DesaprobarAprobar1Samy dijo el 8-9-2009 a las 17:15:

44

(Paradójicamente redacté mal mi último comentario. Quería decir mejor blog en vez de blog mejor [estaba pesando en "blog más bueno"]. Pero al menos, no es ambiguo.)

Tezeract

DesaprobarAprobar1Tezeract dijo el 8-9-2009 a las 17:19:

45

@jci:

Pues ese bug report es de Ubuntu Karmic Koala. Aunque diga “branch”, en realidad es la version mas reciente.

Jose

DesaprobarAprobar-1Jose dijo el 8-9-2009 a las 17:20:

46

Gracias por el articulo!

Una consulta, ¿Cuando estaría disponible el release oficial?

kotak

DesaprobarAprobar2kotak dijo el 8-9-2009 a las 17:29:

48

@Franco
una news para los usuarios de ATI
http://blog.jasondonenfeld.com/190
que si hubiera existido esta solución para los problemas no hubiese buscado tanto un laptop c/Nvidia.

felipexcore

DesaprobarAprobar0felipexcore dijo el 8-9-2009 a las 17:41:

49

interesante! siempre es bueno poder rescatar compus que casi estan pasando al abandono jajaajajaj

Ernesto

DesaprobarAprobar1Ernesto dijo el 8-9-2009 a las 18:00:

50

Franco, ¿con esto se consigue lo mismo que editar el fichero sysctl.conf con el valor de swappiness? Donde el valor por defecto es 60 y según lo que leído es recomendable para servidores y no para desktops.

Franco Catrin

Franco Catrin dijo el 8-9-2009 a las 18:02:

51

@Ernesto

No, son cosas distintas.

marioa

DesaprobarAprobar1marioa dijo el 8-9-2009 a las 18:11:

52

los 8 GB de hoy son los 128 mb del mañana. Estos cambios en la arquitectura del os a la larga son positivos para todos los sistemas…

Alexis

DesaprobarAprobar0Alexis dijo el 8-9-2009 a las 20:24:

53

@Franco
Tengo un amigo que usa Debian con KDE 3.5 y corre IceWeasel (Firefox en Debian), GIMP, Blender al mismo tiempo, en condiciones más o menos óptimas… Eso no lo podría hacer con otra distro…

kotak

DesaprobarAprobar3kotak dijo el 8-9-2009 a las 22:08:

54

@Alexis
Si puedes, la cantidad de aplicaciones que corran “bien” depende del hardware que tengas, en especial la combinación de RAM+Swap+CPU que se tenga.

Franco Catrin

Franco Catrin dijo el 8-9-2009 a las 22:23:

55

@Alexis

Por qué no se podría hacer en otra distro si las aplicaciones son las mismas?

IceWeasel sólo cambia el artwork de Firefox.

Pedro

DesaprobarAprobar1Pedro dijo el 8-9-2009 a las 22:30:

56

Muy buenas clases de Sistemas Operativos han sido publicadas gracias a Franco, estas notas entregan un gran nivel de conocimiento y especialización a FW.

Saludos

flavin

DesaprobarAprobar1flavin dijo el 8-9-2009 a las 22:31:

57

factrin debería hacer un blog aparte o un spin off de linux su artículos son muy buenos pero creo que un publico muy especifico.

Alexis

DesaprobarAprobar1Alexis dijo el 8-9-2009 a las 23:19:

59

@Franco Porque, como vienen, por defecto, las distribuciones más populares, hace muy engorrosa la desactivación de servicios, desinstalación de programas, entre otras cosas…
Aunque como dijeron más arriba, está la opción de ubuntu mínimo, o algo así, pero, en las páginas de los respectivos proyectos no está muy a la vista eso…

pabrou

DesaprobarAprobar1pabrou dijo el 8-9-2009 a las 23:36:

60

@Franco

Franco, por lo que pones en el artículo, da la sensación que hasta ahora el sistema de páginado del kernel no marcaba las páginas “sucias” de memoria. Sabes cual era la politica de reemplazo de página que tenia hasta ahora? LRU con second chance? Exactamente que tipo de “marca especial” se agregó?

Deja tu Comentario

XHTML: Puedes usar: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Previsualizar comentario?