Explicamos cómo añadir un disco duro a Linux, cómo particionarlo con GParted y cómo crear una partición de intercambo ó swap. Mostramos también qué pasos seguir para que el sistema operativo GNU Linux Debian ó Linux Ubuntu (válido también para otras distribuciones) use esta partición como swap. Explicamos cómo consultar y obtener la cantidad de swap y RAM actuales.
- Definición de memoria de intercambio o swap.
- Consideraciones iniciales antes de ampliar la swap en Linux.
- Crear partición de swap o intercambio con GParted en GNU Linux Debian y Ubuntu.
- Activar partición swap de intercambio para que el sistema operativo Linux la use.
- Artículos relacionados.
- Créditos.
Definición de memoria de intercambio o swap
El espacio de intercambio es una zona del disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física (RAM). A este espacio se le suele llamar swap, del inglés "intercambiar".
La mayoría de los sistemas operativos modernos poseen un mecanismo llamado memoria virtual, que permite hacer creer a los programas que tienen más memoria que la disponible realmente.
En este caso es cuando es útil el espacio de intercambio: el sistema operativo puede buscar un proceso poco activo, y moverlo al área de intercambio (el disco duro) y de esa forma liberar la memoria principal para cargar otros procesos. Mientras no haga falta, el proceso extraído de memoria puede quedarse en el disco, ya que ahí no consume memoria física. Cuando sea necesario, el sistema vuelve a hacer un intercambio, pasándolo del disco a memoria RAM. Es un proceso lento (comparado con usar sólo la memoria RAM), pero permite dar la impresión de que hay más memoria disponible.
En los sistemas operativos se puede usar como área de intercambio un fichero o una partición (los dos son en realidad parte de un disco duro o almacenamiento secundario):
- Fichero de intercambio: un fichero en blanco puede prepararse para ser usado como área de intercambio. El usar un fichero para swap o memoria de intercambio tiene algunas ventajas: es fácil de crear, borrar, ampliar o reducir, según se crea necesario (a diferencia de una partición). Pero también tiene algunas desventajas: le afecta la fragmentación, ya que se encuentra dentro de un sistema de ficheros y si están en la misma partición que los datos suele ser algo más lento que usar una partición en exclusiva para ello.
- Partición de intercambio: también se puede dedicar una partición entera del disco duro (o el disco completo) como área de intercambio. Ventajas: se puede conseguir mejor rendimiento si se coloca la partición en la zona más rápida del disco, que es al principio (los cilindros exteriores del disco, por donde pasan más datos a cada vuelta, no hay problemas de fragmentación, no hay que usar ningún sistema de ficheros en concreto. Tiene pocas desventajas: crear una partición es un proceso algo difícil; de todas formas, si se elige bien el tamaño de la partición, no hará falta ningún cambio en el futuro, la partición siempre ocupará el mismo espacio, aunque no se esté usando al 100%. En este artículo explicamos este método para usar swap.
Consideraciones iniciales antes de ampliar la swap en Linux
Copia de seguridad de los datos antes de iniciar el proceso
Por supuesto, otro detalle muy importante es que debemos hacer copia de seguridad de los datos antes de realizar este procedimiento. Siempre que tengamos que particionar y trabajar con discos es muy recomendable hacer copia de seguridad de los datos del equipo para evitar situaciones comprometedoras.
Ampliar memoria swap con fichero, añadir unidad de disco física y virtual
En otros artículos del Proyecto AjpdSoft explicamos cómo ampliar la memoria de intercambio swap en Linux Ubuntu usando un archivo temporal, sin necesidad de usar una partición. Esto es útil en determinados casos en los que no se puede disponer de una partición para tal efecto. Aunque lo recomendable es usar una partición de tipo swap para la memoria virtual de Linux, suele ser más eficiente que usar un fichero en la misma partición donde están ubicados los datos.
Por otro lado, también explicamos en el Proyecto AjpdSoft cómo añadir un nuevo disco duro a un equipo con el sistema operativo Linux, tanto un disco duro virtual para un sistema operativo Linux virtualizado como un disco duro físico:
En este artículo supondremos que ya se ha añadido este disco duro, bien físico o bien virtual (en ambos casos el procedimiento posterior de particionado es el mismo).
Tamaño adecuado para la memoria swap de intercambio en Linux
Por último, en cuanto al tamaño óptimo de la memoria swap de intercambio de Linux, hay muchas discusiones sobre ello. Existe una regla "no escrita" que dice que lo más recomendable suele ser disponer de, al menos, el doble de tamaño de memoria swap que de RAM. Es decir, si tenemos un equipo Linux con 2GB de memoria RAM, es recomendable disponer de 4GB de memoria de intercambio, virtual o swap. Aunque hoy en día ya no es tan aplicable, al disponer de memoria RAM suficiente (pues no es cara) no suele ser necesario disponer de el doble de swap que de RAM. Si se trata de usuarios expertos puede que la cantidad de swap varíe en función del uso que se le quiera dar al equipo, aunque lo habitual es el doble que la RAM.
Consultar y mostrar la cantidad de memoria RAM y swap en GNU Linux
Para consultar la memoria Swap actual en GNU Linux podemos ejecutar el comando Linux (desde una ventana de terminal):
sudo grep SwapTotal /proc/meminfo
Para consultar la memoria RAM del equipo Linux podremos ejecutar el comando Linux:
sudo grep MemTotal /proc/meminfo
Este otro comando Linux también muestra información sobre la memoria RAM y Swap del equipo:
free
También es posible consultar la cantidad o tamaño de la memoria RAM y swap o intercambio desde el modo gráfico, para ello accederemos al menú "Aplicaciones" - "Herramientas del sistema" - "Monitor del sistema":
En la pestaña "Recursos", podremos ver la memoria RAM total y la memoria de intercambio, virtual o swap total. También mostrá la usada actualmente y la libre. En nuestro caso disponemos de 2GB de memoria RAM y 690MB de memoria swap:
Crear partición de swap o intercambio con GParted en GNU Linux Debian y Ubuntu
En las distribuciones actuales de GNU Linux Debian ó GNU Linux Ubuntu suele venir instalada la aplicación GParted, que es muy útil para realizar operaciones en unidades de disco y particiones, en "sustitución" del comando "fdisk" que, a veces, puede ser complicado de manejar. GParted es una aplicación gráfica muy sencilla de manejar y muy intuitiva, que permite eliminar, crear y modificar particiones de disco en sistemas operativos GNU Linux.
Si está instalada podremos abrirla desde el menú "Sistema" - "Administración" - "GParted":
Si no está instalado podremos instalarlo con el comando Linux (desde una ventana de terminal):
sudo apt-get install gparted
(o bien desde el modo gráfico usando el Gestor de Paquetes Synaptic)
Al abrir GParted (/usr/sbin/gparted), nos pedirá la contraseña del usuario, la introduciremos y pulsaremos "Aceptar":
Nos mostrará las particiones actuales de la primera unidad de disco, si hemos añadido una segunda unidad de disco, como es nuestro caso, la seleccionaremos en la parte derecha, en nuestro caso "/dev/sdb (20GB)":
Una vez seleccionada la unidad de disco con la que queremos trabajar y particionar, pulsaremos en el menú "Dispositivo" - "Crear tabla de particiones...":
Seleccionaremos el tipo de tabla de partición (por defecto "msdos") y pulsaremos "Aplicar":
Con el texto: "Advertencia: esto eliminará todos los datos en el disco entero /dev/sdb. Lo predeterminado es crear una tabla de partición MS-DOS".
Tras crar la tabla de particiones para el nuevo disco duro, seleccionaremos el espacio "sin asignar" y pulsaremos con el botón derecho del ratón sobre él, en el menú emergente seleccionaremos "Nuevo":
En primer lugar crearemos la partición swap de intercambio, para ello introduciremos los siguientes datos:
- Espacio libre precedente (MiB): lo dejaremos como lo calcule el sistema por defecto, puesto es que la primera partición del disco, este campo tendrá el valor "1".
- Tamaño nuevo (MiB): indicaremos el tamaño para la nueva partición de swap, en nuestro caso, puesto que tenemos 2GB de RAM y puesto que vamos a usar este equipo como sevidor de base de datos Oracle Database, introduciremos "4000".
- Espacio libre a continuación (MiB): lo calculará el asistente para crear una nueva partición de forma automática.
- Crear como: seleccionaremos "partición primaria".
- Sistema de archivos: seleccionaremos "linux-swap".
- Etiqueta: introduciremos una palabra que identifique esta partición, por ejemplo "swap2".
Tras introducir los datos pulsaremos en "Añadir":
GParted nos mostrará cómo quedará la nueva partición, todavía no se aplicarán los cambios. Si queremos crear una nueva partición en el espacio libre, en este caso una partición normal ext3 para guardar datos, pulsaremos con el botón derecho del ratón sobre el espacio "sin asignar" y pulsaremos "Nueva" en el menú emergente:
Introduciremos los datos, en este caso, utilizaremos todo el espacio dispoble y en "Sistema de archivos" seleccionaremos "ext3", en "Etiqueta" introduciremos, por ejemplo, "Datos". Pulsaremos "Añadir" para crear esta nueva partición:
Para aplicar los cambios indicados definitivamente en la nueva unidad de disco pulsaremos en el menú "Editar" - "Aplicar todas las operaciones":
Nos mostrará un mensaje de aviso indicando que se perderán todos los datos de la unidad seleccionada, pulsaremos "Aplicar":
Con el texto: "¿Está seguro de querer ejecutar todas las operaciones pendientes? la edición de particiones puede causar PÉRDIDA DE DATOS. Se recomienda hacer una copia de seguridad de sus datos antes de continuar."
Se iniciará la creación de las particiones swap y ext3 indicadas, el asistente de creación de particiones de GParted nos mostrará el progreso del proceso:
Tras la finalización del proceso, podremos ver todas las operaciones que se han realiado:
Pulse aquí para ver el resultado del asistente de GParted.
Y en GParted nos mostrará de forma gráfica cómo han quedado las particiones creadas:
Con el siguiente comando podremos ver el estado actual de las particiones del equipo GNU Linux:
sudo fdisk -l
Devolverá algo así:
ajpdsoft@pcdebian:~$ sudo fdisk -l
Disco /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders Units = cilindros of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00096575
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 699 5614686 83 Linux
/dev/sda2 700 2610 15350107+ 5 Extendida
/dev/sda5 700 787 706828+ 82 Linux swap / Solaris
/dev/sda6 788 2610 14643216 83 Linux
Disco /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders Units = cilindros of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00046fd5
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 511 4096000 82 Linux swap / Solaris
La partición 1 no termina en un límite de cilindro.
/dev/sdb2 511 2611 16874496 83 Linux
Activar partición swap de intercambio para que el sistema operativo Linux la use
Tras crear la partición swap de intercambio, como hemos indicado en el paso anterior, tendremos que activarla para que el sistema operativo la use como tal. Si no se realiza este proceso la partición swap creada anteriormente no será usada por el sistema operativo, no la reconocerá como una partición swap.
En primer lugar abriremos una ventana de terminal, estableceremos la partición indicada como de intercambio (swap), para ello ejecutaremos el comando Linux:
sudo mkswap -c /dev/sdb1
Donde "/dev/sdb1" será el identificativo de la unidad swap creada en el paso anterior.
El comando anterior devolverá algo así:
ajpdsoft@pcdebian:~$ sudo mkswap -c /dev/sdb1
[sudo] password for ajpdsoft:
Setting up swapspace version 1, size = 4095996 KiB no label, UUID=8073b9ab-ebff-433e-a0f4-674936e0ffed
A continuación vaciaremos los búferes del disco, forzaremos el guardado de los bloques cambiados al disco, para ello ejecutaremos el comando:
sudo sync
Ahora activaremos la partición swap creada y establecida para ser usada por el sistema operativo con el comando Linux:
sudo swapon /dev/sdb1
Donde "/dev/sdb1" será el identificativo de la unidad swap creada en el paso anterior.
Ahora podremos volver a consultar la cantidad de memoria swap de la que disponemos, ya debe aparecer la nueva asignada, para ello ejecutaremos el comando:
free
o el comando:
sudo grep SwapTotal /proc/meminfo
En nuestro caso devolverá: SwapTotal: 4802812 KB.
Para que el cambio quede aplicado tras reiniciar el equipo, deberemos editar el fichero /etc/fstab, ejecutaremos el comando Linux:
sudo nano /etc/fstab
Y añadiremos la siguiente líena al final:
/dev/sdb1 swap swap defaults 0 0
Guardaremos los cambios pulsando "Control + O" y cerraremos nano con "Control + X".
Si queremos verificar que todo funciona correctamente reiniciaremos el equipo con el comando:
sudo shutdown -r now
(o desde el modo gráfico)
Y al arrancar volveremos a comprobar que la cantidad de memoria swap es la correcta como indicamos aquí.
Anexo
GParted 0.7.0
Libparted 2.3
Crear Partición primaria #1 (linux-swap, 3.91 GiB) en /dev/sdb
00:00:01 ( ÉXITO )
crear una partición vacía 00:00:01 ( ÉXITO )
ruta: /dev/sdb1
inicio: 2048
fin: 8194047
tamaño: 8192000 (3.91 GiB)
establecer el tipo de partición en /dev/sdb1 00:00:00 ( ÉXITO)
tipo de partición nuevo: linux-swap(v1)
crear un sistema de archivos linux-swap nuevo 00:00:00 ( ÉXITO)
mkswap -L "swap2" /dev/sdb1
Setting up swapspace version 1, size = 4095996 KiB LABEL=swap2, UUID=755605d6-5a5c-4ff0-9bdc-f1bd078b8194
Crear Partición primaria #2 (ext3, 16.09 GiB) en /dev/sdb 00:00:17 ( ÉXITO )
crear una partición vacía 00:00:00 ( ÉXITO )
ruta: /dev/sdb2
inicio: 8194048
fin: 41943039
tamaño: 33748992 (16.09 GiB)
establecer el tipo de partición en /dev/sdb2 00:00:00 ( ÉXITO )
tipo de partición nuevo: ext3
crear un sistema de archivos ext3 nuevo 00:00:17 ( ÉXITO )
mkfs.ext3 -L "Datos" /dev/sdb2
Etiqueta del sistema de ficheros=Datos
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
Stride=0 blocks, Stripe width=0 blocks
1054704 nodos-i, 4218624 bloques
210931 bloques (5.00%) reservados para el superusuario Primer bloque de datos=0 Número máximo de bloques del sistema de ficheros=0
129 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
8176 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
Escribiendo las tablas de nodos-i: hecho Creating journal (32768 blocks): hecho Escribiendo superbloques y la información contable del sistema de
ficheros: hecho
Este sistema de ficheros se revisará automáticamente cada 37 montajes o 180 días, lo que suceda primero. Utilice tune2fs -c o -i para cambiarlo.
mke2fs 1.41.12 (17-May-2010)
Artículos relacionados
- Ampliar memoria de intercambio swap en Linux Ubuntu.
- Añadir una nueva unidad de disco (disco duro) a GNU Linux Ubuntu Server.
- Configurar GRUB en Linux Ubuntu 8.10 con varios sistemas operativos.
- Cómo instalar GNU Linux Debian 5.0.7 virtualizado en VMware Workstation.
- Montar un servidor de correo electrónico mail en GNU Linux Ubuntu.
- Instalar un servidor web y sitio web gratuito con Apache en Linux Debian.
- Algunas opciones interesantes de la BIOS.
- Instalar GNU Linux Ubuntu 10.04 LTS (Lucid Lynx) Beta 1 virtualizado en VMware.
- Virtualización con VMware Server 2.0, acceso remoto a máquinas virtuales.
- Instalación de Microsoft Windows 7 Ultimate virtualizado en VMware Server 2.0.1.
- Mi primera aplicación en GNU Linux con Lazarus con acceso a MySQL Server
- Configurar Linux para que valide en un dominio Microsoft Active Directory.
- Instalar Linux Ubuntu Server 8.04.1.
- Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a Linux.
- Instalamos Compiz Fusion Git 0.7.X en Linux Ubuntu 8.04 Hardy Heron.
- Comandos básicos para GNU Linux y ejemplos de utilización.
- Instalar GNU Linux Ubuntu 9.10 virtualizado con Sun VirtualBox 3.0.12.
- Instalar Linux Ubuntu Server 8.04.1.
- Cómo instalar Linux Red Hat Enterprise 4 Update 2.
- Añadir una nueva unidad de disco (disco duro) a GNU Linux Ubuntu Server.
- Cómo crear un RAID lógico en Linux Ubuntu 8.04 Hardy Heron.
- Artículos, trucos y manuales del Proyecto AjpdSoft sobre virtualización (VMware, VirtualBox).
- Cómo arrancar un equipo con un pendrive y GNU Linux Ubuntu 9.04 Live.
- Cómo instalar el navegador web Google Chrome en GNU Linux Ubuntu 10.
- Artículos del Proyecto AjpdSoft sobre el sistema operativo GNU Linux.
- AjpdSoft Enciclopedia - Definición URL.
- AjpdSoft Enciclopedia Mozilla Firefox.
- AjpdSoft Enciclopedia Definición RAM.
No hay comentarios:
Publicar un comentario