Si buscamos en la historia, podemos encontrar que veíamos a Linux como el S.O. que podía correr en cualquier maquina, por pequeña que fuera; hablábamos de CPUs Pentium 5, son 1Gb máximo de memoria; en aquella época, el trabajar con ficheros swaps, era una necesidad, después nos fuimos animando a utilizarlo con maquinas mayores, y llegamos a la conclusión que el swap lo hacia mas lento…y ahora?…volvemos a ello?
Realmente, trabajar con fichero swap hace nuestro ordenador mas lento; no se mueve a igual velocidad la información en memoria, que en un disco, pero…
Pero ahora, los discos son mas rápidos, y , sobre todo, insistimos en contratar servidores pequeños, con poca memoria…
Este web, en el que estais leyendo esto, esta en una maquina virtual con 2Gb y 20Gb en disco…si, una miniatura, y eso ha hecho que últimamente, tuviera algunos problemas de memoria
Por otra parte, de los 20 Gb que tengo en el disco, 10Gb están libres, y es un disco SSD, luego, porque no crear un pequeño swap que me ayude a mantener vivo a mi equipo?
En este caso, vamos a realizar la instalación en un sistema Debian, y, naturalmente, no podemos contar con la creación de particiones durante el arranque, como hacíamos antiguamente…el ordenador es de mi proveedor, y esta situado en algún lugar de Francia, no puedo ir a instalar físicamente … luego lo tendremos que hacer en remoto
Vamos a crear una particion swap de 512kb, si necesitamos mas, iremos ajustando otro dia. para ello, lo primero que necesitamos es podernos logonar como root, cosa que la conexión ssh no me va a dejar hacer….luego, me conecto con mi usuario habitual, y luego, puedo hacer
$ su-
o
$ sudo -s
me permitirá pasar a ser root
Lo que debemos hacer a continuación, es crear un espacio en disco, para ubicar el swap, y para ello, ya que queremos 512Mb, deberemos calcular:
512Mb * 1024 = 524.288 bloques
Luego, podemos dar la orden:
# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 524288+0 records in 524288+0 records out 536870912 bytes (537 MB) copied, 4.23681 s, 127 MB/s
Lo que hemos hecho, es
dd copiar
if=/dev/zero desde /dev/zero que es un fichero ficticio que me proporciona tantos caracteres nulos como necesite
of=/swapfile1 a un fichero que quiero crear a nivel raiz (no necesariamente)
bs=1024 Con una longitud de bloque de 1024 bytes
count=524288 El numero de veces que aqui indico, osea copiare desde la entrada 524.288 * 1024 bytes…bueno, exactamente 512Mb
Una vez tenemos creado el fichero, dejamos usuario y permisos correctamente configurado
~# chown root:root /swapfile1 ~# chmod 0600 /swapfile1
Osea que hacemos que su propietario sea root, y solo el pueda escribir y leer.
El siguiente paso, será formatearlo como fichero swap
# mkswap /swapfile1 Setting up swapspace version 1, size = 524284 KiB no label, UUID=3dceba96-e41e-4545-9403-38701093fc5c
Y, si queremos que empiece a funcionar inmediatamente, deberemos hacer
~# swapon /swapfile1
y con eso, ya tendremos en marcha nuestro fichero swap, ahora si necesitamos que cuando se vuelva a arrancar la maquina, se vuelva a activar, deberemos modificar el fichero fstab, para dejar constancia de su existencia
Habrimos con vi o con nano… a vuestro gusto
~# nano /etc/fstab
y añadimos una linea como
/swapfile1 none swap sw 0 0
y salvamos. Con esto ya tenemos nuestro fichero swap funcionando…. podeis comprobarlo con
~# free -m total used free shared buffers cached Mem: 1962 1810 151 275 34 533 -/+ buffers/cache: 1241 720 Swap: 511 2 509
Podemos comprobar si tenemos algun otro swap creado con:
~# swapon -s Filename Type Size Used Priority /swapfile1 file 524284 454060 -1
o ver como esta de ocupación, también con «top»
que, como podéis ver, yo lo hubiera tenido que hacer mas grande…..la próxima
Solo os queda por saber, que si deseamos desactivar nuestro swap, podremos hacer
# swapoff /swapfile1 # swapon -s
Y recordad que si queréis controlar la agresividad con que funciona el swap, osea la facilidaad que tiene para mandar las paginas de memoria al swap, po podeis controlar con el swappiness
8 comentarios
Bonita e instructiva comedura de tarro 😉
Gracias Miguel!
Bonita e instructiva comedura de tarro 😉
Gracias Miguel!
Perdón, se me olvidó la pregunta: ¿Cuál crees que es el tamaño ideal del swap?
Gradias.
Perdón, se me olvidó la pregunta: ¿Cuál crees que es el tamaño ideal del swap?
Gradias.