epespad

"ReadyBoost" en GNU/Linux

"ReadyBoost" en GNU/Linux


Esta tecnología resulta muy interesante cuando queremos aumentar la memoria RAM de manera económica. En realidad lo que se aumenta es la caché de disco, y el objetivo es hacer mas veloz nuestra PC.

En mi caso, como no consigo memoria RAM para mi Notebook, tuve que utilizar esta tecnología para mejorar el rendimiento.

Lo que necesitamos para lograrlo es una memoria flash del tamaño de la “RAM” que queremos sumar y ganas de escribir tres o cuatro comandos en la consola… tan difícil como eso.

El título del post tiene “ReadyBoost” entre comillas porque es una tecnología que implementó Microsoft con ese nombre, en Linux, lo que hacemos es crear una partición SWAP en la memoria y darle una prioridad altísima para que la utilice como si fuera una extensión de la RAM física.

Ubuntu


Los pasos serían:

> Insertamos la memoria flash (pendrive, SD, lo que sea)
> Debemos desmontarla si es que nuestro sistema la monta automáticamente:

(Tomamos /media como el punto donde el sistema monta por defecto).

# umount /media/nombre_del_recurso_montado

> Creamos la partición SWAP en la memoria:

# mkswap /dev/sdb1

Suponiendo en este ejemplo que sdb1 es el dispositivo usb conectado.

> Activamos la SWAP con alta prioridad:

# swapon -p 32767 /dev/sdb1

Listo!

Para corroborar que la nueva SWAP esté en uso podemos hacer:

# cat /proc/swaps

Donde nos mostrará un listado similar a este:


Filename Type Size Used Priority

/dev/sda6 partition 979924 106664 -1

/dev/sdb1 partition 1982328 83144 32767



Obviamente el hacer esto no es lo mismo que aumentar físicamente la RAM, pero mejora considerablemente la velocidad del sistema, y mas aún si usamos una SD HC (de alta velocidad).

> Si queremos desactivar la SWAP:


# swapoff /dev/sdb1

Por supuesto, se puede hacer un script que haga todo esto automáticamente.

Fuente: http://www.net-mdq.com.ar/blog/2010/05/readyboost-en-linux/#more-943

23 comentarios - "ReadyBoost" en GNU/Linux

kazad0r
Interesante.... luego lo pruebo. Gracias.
narosky
Che y por que no aumentas directamente la swap de tu rigido? no tenes espacio libre?
kazad0r
narosky dijo:Che y por que no aumentas directamente la swap de tu rigido? no tenes espacio libre?

La swap es más lenta
narosky
kazad0r dijo:
narosky dijo:Che y por que no aumentas directamente la swap de tu rigido? no tenes espacio libre?

La swap es más lenta

y acaso no esta creando una swap en el pendrive/memoria extraible?
floydianfan
narosky dijo:
kazad0r dijo:
narosky dijo:Che y por que no aumentas directamente la swap de tu rigido? no tenes espacio libre?

La swap es más lenta

y acaso no esta creando una swap en el pendrive/memoria extraible?


si pero no
HackerAC88
narosky dijo:
kazad0r dijo:
narosky dijo:Che y por que no aumentas directamente la swap de tu rigido? no tenes espacio libre?

La swap es más lenta

y acaso no esta creando una swap en el pendrive/memoria extraible?

Che no jalan o que onda? Una unidad USB es mas rapida que un disco, eso es re sabido. Aparte para el correcto funcionamiento de una distro hay que tener SI o SI una particion SWAP, nos guste o no. Yo tampoco soy muy partidario de la SWAP, pero los grandes especialistas lo recomiendan.
narosky
HackerAC88 dijo:
narosky dijo:
kazad0r dijo:
narosky dijo:Che y por que no aumentas directamente la swap de tu rigido? no tenes espacio libre?

La swap es más lenta

y acaso no esta creando una swap en el pendrive/memoria extraible?

Che no jalan o que onda? Una unidad USB es mas rapida que un disco, eso es re sabido. Aparte para el correcto funcionamiento de una distro hay que tener SI o SI una particion SWAP, nos guste o no. Yo tampoco soy muy partidario de la SWAP, pero los grandes especialistas lo recomiendan.


Pregunto por que no se flaco sino no gastaria ni tu tiempo ni el mio en preguntar algo que ya se, si te jode explicar algo pasa de largo y listo
santodelaespada
esta bueno para usar las reglas de udev para que cuando aparece un dispositivo determinado (nuestra memoria flash) automáticamente corra el script para crear la swap. A lo mejor agregando un vinculo en el escritorio para dejar de usar la swap y liberar la memoria flash.

Igualmente y para no crear polémica, sino intentando aclarar algo ready boost no cachea constantemente el disco a la memoria flash. Si tengo bien entendido, lo usa para alojar lo que en xp se conocia como prefetch, de modo que se tienen los bits del programa listo para entrar en memoria, sin tener que leerlo del disco, haciendo una copia de la memoria flash a la memoria ram directamente (con algunos adornos).
chamilis
Guarda! Una memoria Flash es mucho más rápida que un disco rígido, pero tengan en cuenta que en un USB la transeferencia de datos se hace en serie, y en el disco en paralelo, o sea que NO NECESARIAMENTE el USB va a ser más rápido.
Saludos, muy interesante la información
Maeterri
chamilis dijo:Guarda! Una memoria Flash es mucho más rápida que un disco rígido, pero tengan en cuenta que en un USB la transeferencia de datos se hace en serie, y en el disco en paralelo, o sea que NO NECESARIAMENTE el USB va a ser más rápido.
Saludos, muy interesante la información

El usb es más lento, pero no por eso, los cables planos se estan empezando a dejar de lado.
Celinaazp
Super bueno tu informacion compañero y la verdad es que es una muy buena opcion ya que una memoria ram es mucho más cara que una usb, en un rato mas lo pruebo aver que tal. Gracias
Choco_crispi_911 +1
yo no se como nadie aprovecho todavia para automatizar el proceso y emular el readyboost en linux. la verdad que yo lo use en windows vista en mi notebook con 512 de ram. y el cambio fue tremendo, o sea, una locura, funcionaba 3 veces más rapido windows, sin exagerar.

estaria re bueno que se las ingeniaran para hacerlo tambien con linux, pero hacerlo bien y mas automatico, al estilo ubuntu, yo tengo pilas de memorias flash sin usar, aunque solo una es de alta transferencia
ojlofranom
"VALE MÁS UN BUEN EJEMPLO GRÁFICO QUE MIL PALABRAS"

Pasos a seguir:

1 - Abrir un Terminal (Los símbolos de $ y # son el comienzo de inicio de escritura de comandos):

2 - Escribir, en el terminal, o hacer copia (de aquí) y Pegar en el terminal (colocar cursor del mouse en la línea del $, o #, y hacer clic al botón derecho del mouse y seleccionas Pegar):

$ su -l

3 - Suministrar su clave:

Password: *********

4 - Hacer igual que en el paso 2 con:

# df

RESPUESTA:

Filesystem 1K-blocks Used Available Use% Mounted on
udev 2472884 4 2472880 1% /dev
tmpfs 497784 1536 496248 1% /run
/dev/sdb9 37222960 17288588 18020468 49% /
none 4 0 4 0% /sys/fs/cgroup
none 5120 0 5120 0% /run/lock
none 2488912 4 2488908 1% /run/shm
none 102400 36 102364 1% /run/user
/dev/sda1 976760000 274644824 702115176 29% /media/oscar/SP Silicon Power
/dev/mmcblk0p1 15558112 15526096 32016 100% /media/oscar/SD 16GB <=============
UNIDAD A USAR EN
MI CASO

5 - Hacer igual que en el paso 2 con:

# umount /media/oscar/"SD 16GB"

6 - Hacer igual que en el paso 2 con:

# mkswap /dev/mmcblk0p1

RESPUESTA:

Setting up swapspace version 1, size = 15558108 KiB
no label, UUID=136fd7dc-0d66-45a3-b177-e2e28a337a18

7 - Hacer igual que en el paso 2 con:

# swapon -p 32767 /dev/mmcblk0p1

8 - Para ver si está funcionando, hacer igual que en el paso 2 con:

# cat /proc/swaps

RESPUESTA:

Filename Type Size Used Priority
/dev/sdb10 partition 5206012 0 -1
/dev/mmcblk0p1 partition 15558108 0 32767 <============= MÁXIMA PRIORIDAD