Cambiando el lugar de la SWAP

Escrito por Himliano, el 27/08/2007 20:19.No hay comentarios.

Hoy, Ubuntu-es me ha sacado de un apuro; asi de claro. Hará cosa de cinco días me fijé que la SWAP que usa Ubuntu no llegaba a la proporción idónea de cantidad de MB de SWAP = dos veces la cantidad de MB de memoria RAM.

(Nota para usuarios noveles: La SWAP viene siendo una cantidad de espacio usada para aumentar la cantidad de memoria que utiliza el ordenador. Es muy útil en sistemas operativos multiproceso porque permite ampliar la cantidad necesaria de memoria que se puede usar. A grandes rasgos, se trata de que el sistema va moviendo los datos de la RAM a la SWAP y viceversa según los vayamos necesitando.)

El problema surgió; cuando al ir a redimensionar la SWAP vi que no sólo era más pequeña; sino que tenía dos particiones de SWAP, debido a que en la última reinstalación de Ubuntu al elegir “Usar mayor espacio contiguo” creí que al detectar ya una SWAP no crearía otra. Así que un vez instalado el sistema tienes una SWAP que estás usando y una que no. Y como uniendo las dos llegaba la proporcion idónea mas unos cuantos MB más de regalo pues me dije:

Ya lo tengo, borro las dos, y creo una SWAP con todo el espacio que libere al borrarlas.

Dicho y hecho; el problema ha llegado cuando una vez hecho ésto, en días siguientes he notado que el rendimiento bajaba muchísimo; y cual es mi sorpresa al ver que el sistema se inicia sin activar la SWAP. Como consecuencia de ésto, llega un momento en que la RAM se llena y el ordenador se colapsa; llegando el consumo de CPU a situarse en un 100% continuo que impide hacer cualquier cosa.

Afortunadamente, en Ubuntu, como en cualquier otra distribución Linux; siempre podemos arrancar una terminal en modo texto para arreglar las cosas. Tan fácil como un simple:
CTRL + ALT + F1

Metemos el nombre de usuario y la contraseña (tardando como unos 2 minutos por el consumo de CPU); una vez dentro, solía arreglar las cosas usando el gestor de procesos htop:
sudo aptitude install htop

Y desde ahí cerrar (F9 y luego ENTER) los procesos que más memoria estaban consumiendo; así al bajar la memoria el consumo de CPU se normaliza y puedes volver al modo gráfico (CTRL + F7) para arreglar las cosas. Hasta hoy, la solución que usaba para activar la SWAP era coger el editor de particiones de Gnome y desde ahí hacer click derecho sobre la SWAP y elegir la opción: “Activar intercambio”, con lo que la SWAP quedaba activada. Lo malo de ésta solución es que se supone que cada vez que arranques Ubuntu la SWAP seguirá desactivada.

Como soy un despistado, siempre recordaba activar la SWAP en cuanto el ordenador se quedaba KO; asi que googleando, encontré un post en Ubuntu-es.org en el que alguien con un problema similar había logrado solucionarlo. Y para que más gente pueda encontrarlo más fácilmente (en Google os puedo asegurar que no ha sido demasiado fácil de encontrar) la reproduzco aquí con alguna que otra explicación extra.

La solucion consiste en apuntar en que partición esta la SWAP; en mi caso, está en /dev/hda7; una vez apuntado, abrimos un terminal y nos preparamos para la magia:

sudo mkswap -c /dev/hda5

Con éste comando estás ajustando una área de SWAP (en mi caso /dev/hda7) para que sea usada por el sistema. Una vez introducido ese comando verás que te devuelve por pantalla una serie de números y letras; eso se denomina un UUID, que para lo que nos interesa ahora mismo, podríamos definir como una huella dáctilar de un dispositivo o partición (informáticos; no me apedreéis) para poder saber cual es cual.

Como nos interesa, debemos copiarlo en un archivo de texto, o en un papel que tengamos a mano… tanto da; sólo cópialo. el siguiente paso es editar el archivo que maneja como se accede a las distintas particiones del sistema, el fstab. Ya que tenemos la terminal abierta, aprovechamos y nos marcamos un:
sudo gedit /etc/fstab

Para editarlo sin tener que ir por ahí buscándolo. Buscando entre las líneas la palabra SWAP encontramos lo que nos interesa:

# Entry for /dev/hda7 :
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap sw 0 0

Donde las x son los números y letras de un UUID (lo siento, quizás desearías que fuese el serial de algún juego bajado del emule, pero no; lo siento xD). ¿Adivinas el siguiente paso? Una pista: ahí pone UUID… nosotros tenemos un UUID… parece que va a llover…

En efecto, tenemos que sustituir el UUID del archivo por el que habíamos apuntado previamente; y una vez hecho le damos al sistema la orden de que monte todas las particiones tal y como especificamos en ese archivo:

sudo mount -a

Nuestra SWAP estará funcionando como siempre debió hacerlo; y lo que es más importante, cada vez que se inicie el sistema la cargará como es debido (gracias a que le hemos configurado correctamente en el fstab. Y no tiene más ciencia. Eso es todo.

NOTA: A lo mejor, hay otra solucón mucho más fácil; pero ésta es la única que yo conozco. Si conocési otra manera es bienvenida y los comentarios están abiertos a vuestra disposición.




¿Cómo que no hay comentarios? ¬¬


  •  

Comentarios cerrados