Menú

La importancia de la “swap”

10 de marzo de 2006

Hace ya casi un mes que uso Guadalinex V3 (desde poco después de presentarla) y siempre que me pedían opinión respondía lo mismo: que estaba muy bien pero tenía que reconocer que era bastante lenta. Después de echarle la culpa durante mucho tiempo a gnome 2.12, hoy me he dado cuenta del verdadero motivo de la lentitud. No es que esta versión consuma muchos más recursos que su predecesora, es que ¡estaba trabajando sin swap!

El swap, o espacio de intercambio, es el espacio que reserva Linux (y otros S.O.) para utilizarlo como memoria virtual. Es decir, permite que los procesos crean que disponen de mucha más memoria de la que físicamente posee el ordenador.

En el caso de Linux, el espacio de intercambio puede corresponder a una partición o a un fichero. Pues bien, cuando instalé Guadalinex le dije que no quería una partición de swap, y resulta que tampoco me configuró bien el fichero de swap. (Aún no sé si fue un error puntual o es un fallo de la distribución).

Por si a alguien le ocurre, o tiene curiosidad, explico rápidamente cómo lo solucioné.

En primer lugar, comprobé en “/etc/fstab” que tenía asignado correctamente mi fichero de intercambio: “/swapfile”. El fallo estaba en que este fichero tenía un tamaño de 0 bytes, y eso y no tener nada, pues es lo mismo. Entonces creé un nuevo “/swapfile” de 1GB, mediante el comando:
# dd if=/dev/zero of=/swapfile count=2M (2M quiere decir 2048 bloques de 512 bytes, o sea, 1GB)
A continuación hay que fijar ese fichero como espacio de intercambio, con el comando
# mkswap /swapfile.
Por último, activamos el uso de memoria swap con
# swapon -a (-a activa los ficheros y particiones registrados como swap en “/etc/fstab”)

Ahora ya puedo abrir 32 imágenes simultáneamente sin que gimp se quede sin memoria, y ese tipo de cosas.

Editado:
La línea que hay que añadir a “/etc/fstab”, en caso de que no la tengáis ya, es:
/swapfile none swap sw 0 0
Hay que añadirla antes de ejecutar “swapon”.

3 Comentarios en La importancia de la “swap”

  1. Avatar de <a href='http://fortran.blogspot.com' rel='external nofollow' class='url'>fortran</a>

    fortran dice:

    10/3/2006, 01:32

    tener un fichero de intercambio no aumenta la velocidad del sistema operativo, en cualquier caso la degrada (los fallos de página son muy lentos).

    la ventaja que se obtiene es que se pueden ejecutar más programas a la vez, o que esos programas empleen más memoria.

    sin embargo, sí que se puede optimizar el uso de la memoria swap:
    -usando particiones propias en lugar de ficheros en particiones del sistema de archivos (se ahorra una capa de abstracción, mejora la latencia).
    -usando varias particiones (en discos duros distintos) a modo de RAID, asigándoles la misma prioridad (aumenta el paralelismo de E/S, con lo que mejora el ancho de banda).

  2. Avatar de <a href='http://devnull.wordpress.com' rel='external nofollow' class='url'>darkomen</a>

    darkomen dice:

    21/3/2006, 00:18

    eso, me interesa, yo desde que instale ubuntu, hara ya sus 6 meses… siempre la isntalo sin swap y esque tengo 1gb de ram y nunca me he preocupado de ese detalle, verdaderamente, con esta cantidad de ram es necesario hacer uso de swap¿¿?? que opinais, a mi el sistema me va bastante ligerito, sí es cierto que a veces se me tuesta un poco, pero solo a veces…

  3. Avatar de Ballenato

    Ballenato dice:

    24/3/2006, 13:44

    Hombre, darkomen, yo creo que depende de lo que sobrecargues tu sistema. Probablemente con 1 GB de RAM, tu sistema prácticamente no necesite hacer uso de la swap. Así que activarlo no supondrá ninguna mejoría ya que, como dijo fortran, el uso de swap no aumenta la velocidad. Sin embargo, si abres muchos programas a la vez o/y programas que consumen mucha memoria (edición de imágenes grandes, la máquina virtual de java…) se te podría agotar la memoria y, eso redunda en que el sistema se te quede bloqueado o vaya a tirones.
    Pero como te digo, con 1 giga de RAM no creo que tengas ese problema. De todas formas, con la orden free o ejecutando gnome-system-monitor puedes hacerte una idea de la memoria que estás consumiendo.

Leave a comment