mi d.Espacio

viernes, marzo 23, 2007

to swap or not to swap

Bueno, el otro día me di cuenta que desde que actualicé la ubuntu dapper a la edgy, mi swap no iba ni para atrás.

Hoy que estaba un poco más tranquilo, decidí echarle un vistazo.
Primero, me di cuenta de que el gparted no me reconocía la partición o no la reconocía como swap.
Segundo cuando hice un
$ cat /proc/meminfo|grep Swap

En SwapTotal (y por ende en SwapFree y SwapCached) aparecía como 0.

Ups... mal asunto.

¿Que hice?
Bueno, me encontré una guía muy útil.

Desde aquí mis agradecimientos a la comunidad linux en general y a la de ubuntu en particular, por su excelente trabajo y contribución. Y en especial a jackbyte por su contribución altruista sin la que seguro me hubiese sido mucho más dificil solucionar el problema de la swap y que unida a la de otros muchos, ayuda a mejorar esta comunidad de usuarios.


Bueno, el caso es que seguí más o menos esta guía...
¿Porqué más o menos? Bueno porque no necesite de hacer un swapon -a al final, directamente me cargó la swap al iniciar con lo que no tuve que cargar la swap de esta manera.

Voy a poner lo que hice yo, ya que el resto viene muy bien explicado en la guía
guía
.

Básicamente lo que hice fue volver a crear la swap.
Con gparted (antes de encontrar la guía a la que hago referencia) formatee mi partición /dev/hda2 (donde debería estar el swap) como partición swap... porque no me la reconocía o más bien la reconocía como desconocida.

Cuando encontré la guía, ya era demasiado tarde, ya había terminado de formatear /dev/hda2 como swap, pero la verdad es que eso me daba un poquito igual.
Os comento. En una terminal escribí:
# sudo mkswap -c /dev/hda2
(o la que proceda)
Este comando me devuelve un uuid que utilizaré para /dev/hda2
Abrí el archivo fstab para editarlo
#sudo gedit /etc/fstab

Cambié el número identificador UUID del anterior por el nuevo, quedando algo así:
UUID=[número de UUID] none swap sw 0 0

Hasta que no reinicie no fue visible la particion en /dev/disk/by-uuid/

En realidad luego de reiniciar ya tenía swap, pero bueno, como tambien podía usar lo de hibernar, pues decidir seguir y edité el archivo /etc/initramfs-tools/conf.d/resume
sudo gedit /etc/initramfs-tools/conf.d/resume
el archivo solo tenía
RESUME=

y lo cambié por
RESUME=UUID=[número de UUID]

Luego ejecute:
sudo update-initramfs -u

Y listo.
Ahora ya disfruto de todo el poderío del swap...

y colorin colorado...
Para probarlo casi ejecuté todo lo que tenía a mano:
jdeveloper, netbeans, eclipse, tomcat, jboss, picasa, firefox, mozilla, gimp, openoffice, juegos, programas, y hasta la calculadora... Puse el beryl y me puse a ver varias páginas y a abrir y navegar como un cosaco. Empecé a abrir más, necesitaba consumir más memoria. Abrí pdfs, herramientas de Video como el Kino, reproductores de video, mp3, radio-online, gestores de descarga, p2p como amule azureus que también consumen lo suyo... y nada... oye, que la la memoria entre el 65 y el 70% de uso con un 29% cacheado, y la swap al 25% al 30%... con todo rulando... así que me di por vencido...
Parece que ya no tengo problemas de memoria. Y es que con 1gb de RAM y 1gb de swap, creo que es más que suficiente para mi, incluso conociendo mi manía de dejarme los programas abiertos, creo que la cosa pinta bien... vamos a ver lo que dura.
Eso sí, con todos mis respetos a los usuarios de Microsoft Windows... no creo que esta configuración de memoria sea suficiente si quieren usar Windows Vista :P

Hay un parametro que se le puede enviar al kernel y que controla el grado de uso de swap por parte del sistema. Este parametro es el swappiness. Por defecto se utiliza un 60.
Los valores rondan entre 0 y 100. Normalmente cuanto menor es su valor, más intenta consumir de RAM y menos de swap, por el contrario, cuanto mayor es el valor, más intentará hacer uso de la swap para liberar de memoria.
La disminución del swappiness normalmente conlleva un incremento en cuanto a la respuesta del equipo en determinados casos. Aunque en otros puede que no interese.

Yo la verdad es que con un 60 va bien, pero algunos dicen que con un valor entre 10 y 15 se nota la diferencia.

Si quereis probar podeis enviarle al kernel un nuevo valor para el swappiness con:
$ sudo sysctl vm.swappiness=10

Eso sí, cuando tengais el valor que más os guste y quereís que sea permanente, cambiamos el /etc/sysctl.conf y añadimos una línea como esta:
vm.swappiness=10


Y bueno, eso es todo lo que me he peleado hoy con la swap... ahora a otra cosa mariposa

powered by performancing firefox