Cómo crear una partición de intercambio en Linux
Se requiere memoria de intercambio cuando el sistema requiere más memoria de la que está disponible físicamente. El kernel intercambia las páginas menos utilizadas y le da memoria al proceso actual que necesita la memoria inmediatamente. Por tanto, se copia una página de memoria en el espacio preconfigurado del disco duro. La velocidad del disco es mucho más lenta en comparación con la velocidad de la memoria. El intercambio de páginas brinda más espacio para las aplicaciones actuales en la memoria (RAM) y hace que la aplicación se ejecute más rápido.
El espacio de intercambio se encuentra en los discos duros, que tienen un tiempo de acceso más lento que la memoria física. El espacio de intercambio puede ser una partición de intercambio dedicada o un archivo de intercambio, o una combinación de ambos.
En este tutorial, aprendemos cómo crear una partición de intercambio en un sistema Linux.
Lectura relacionada: Cómo crear un archivo de intercambio de Linux
Crea una partición de intercambio
Primero verifiquemos el espacio en disco, luego creemos una partición y luego habilitemos el intercambio.
1) Verifique el espacio en disco
Verifique si tiene suficiente espacio en el disco para crear una nueva partición para intercambiar usando fdisk o el comando parted.
# fdisk -l Disk /dev/sda: 10.7 GB, 10720641024 bytes, 20938752 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sdb: 536 MB, 536870912 bytes, 1048576 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x66fe37bd
Usaremos /dev/sdb
disco para nuestro intercambio. Revisa el canje con gratis -m
mando; tenemos:
# free -m total used free shared buff/cache available Mem: 988 88 645 50 254 813 Swap: 0 0 0
Puede ver que no tenemos una partición de intercambio. También podemos usar el siguiente comando para la verificación
# swapon -s
Ves que no tenemos vuelta. Significa que no hay permuta
2) Crea una partición para intercambio
Como vimos, tenemos suficiente espacio sin asignar en el disco, podemos crear una nueva partición usando herramientas como parted o fdisk.
Aquí voy a usar el comando fdisk para crear una partición:
# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the Command (m for help):
Puedes escribir m
comando para la ayuda que le enumerará diferentes posibilidades. Crearemos una nueva partición para nuestro intercambio con n
mando
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): First sector (2048-1048575, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-1048575, default 1048575): Using default value 1048575 Partition 1 of type Linux and of size 511 MiB is set
Para definir ahora nuestra partición como tipo de intercambio, usaremos el comando t
Command (m for help): t Selected partition 1 Hex code (type L to list all codes): 82 Changed type of partition 'Linux' to 'Linux swap / Solaris'
El código hexadecimal para la partición de intercambio en Linux es 82
. Ahora guardaremos los cambios con w
mando
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Haga la nueva partición como intercambio. Cambie el ID de alternancia a 82 (para intercambio). Vamos a comprobar con fdisk -l
mando:
# fdisk -l Disk /dev/sda: 10.7 GB, 10720641024 bytes, 20938752 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk /dev/sdb: 536 MB, 536870912 bytes, 1048576 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x66fe37bd Device Boot Start End Blocks Id System /dev/sdb1 2048 1048575 523264 82 Linux swap / Solaris
Puede ver la mención ‘intercambio de Linux’ en la última línea.
Nota: En la última versión de Ubuntu y Centos, usa crear archivo de intercambio en lugar de una partición de intercambio. Veamos cómo crear un archivo de intercambio.
Simplemente use el comando dd o fallocate para crear un archivo (digamos 1 GB o 2 GB).
# dd if=/dev/zero of=/mnt/swapfile bs=1024 count=2097152 or # fallocate -l 2G /mnt/swapfile
# chmod 600 /mnt/swapfile
Luego siga los pasos a continuación.
3) Formatear para cambiar el modo
Después de definir nuestra partición, necesitamos formatearla para el «modo de intercambio», así que ejecute el comando mkswap en la partición de intercambio recién creada. Asegúrese de elegir el número de partición correcto que necesita para habilitar el intercambio. Puede usar la opción -L para configurar LABEL en la partición de intercambio.
Ejecute el siguiente comando define / dev / sdb1 como partición de intercambio:
# mkswap /dev/sdb1 Setting up swapspace version 1, size = 524284 KiB no label, UUID=c4696894-0b09-4fbe-87bb-a34d6d307a4e
o
# mkswap /mnt/swapfile
4) Habilitar el espacio de intercambio
Ahora que nuestra partición de intercambio está formateada, necesitamos habilitar el espacio de intercambio, así que ejecute el comando swapon para habilitarlo:
# swapon /dev/sdb1
5) Verificar el espacio de intercambio
Verifique el espacio de intercambio recién agregado usando el siguiente comando:
# free -m total used free shared buff/cache available Mem: 988 88 646 50 254 814 Swap: 511 0 511
6) Agregar al archivo fstab
Luego agregue la partición de intercambio recién creada a /etc/fstab
expediente. Debería verse como a continuación:
/dev/sdb1 swap swap defaults 0 0
Cómo crear una partición de intercambio para lvm
Puede tener una instalación de LVM en su servidor y necesita crear una partición de intercambio. El procedimiento no es exactamente el mismo debido al «modo lvm»
Primero debemos crear el volumen lógico LVM2 de tamaño 8 GB:
# lvcreate rootvg -n swapvol -L 8G
Después de crear el volumen lógico, necesitamos formatear el nuevo espacio de intercambio:
# mkswap /dev/rootvg/swapvol
Para estar seguros de que nuestra partición de intercambio se montará automáticamente incluso si reiniciamos el servidor, debemos agregar la siguiente entrada a la /etc/fstab
expediente:
/dev/rootvg/swapvol swap swap defaults 0 0
Ahora necesitamos habilitar el volumen lógico extendido:
# swapon -v /dev/rootvg/swapvol
Para probar si el volumen lógico se creó correctamente, utilice swapon -s
o free -m
comando para inspeccionar el espacio de intercambio.
Extienda la partición de intercambio para lvm
Puede necesitar extender su partición de intercambio porque el tamaño de intercambio real no satisface su trabajo. Con lvm, es posible aumentar directamente el tamaño de una partición existente como se muestra a continuación.
Primero debe identificar el grupo de volumen de intercambio que es ‘/ dev / rootvg / swapvol’ en nuestro caso. Primero debe deshabilitar el intercambio actual
# swapoff -v /dev/rootvg/swapvol
Ahora debes cambiar el tamaño del grupo de volumen para indicar el espacio a aumentar
# lvm lvresize /dev/rootvg/swapvol -L +8G
Queremos aumentar de 8 GB a 16 GB
Ahora necesitamos formatear el espacio
# mkswap /dev/rootvg/swapvol
Ahora necesitamos activar el intercambio para dispositivos marcados como intercambio en /etc/fstab
# swapon -va
Eliminar partición de intercambio
Por alguna razón, es posible que deba eliminar su partición de intercambio en modo lvm.
Para eliminar una partición de intercambio, primero debe deshabilitar el intercambio para el volumen lógico asociado, ya sea lvm o algo más allí.
# swapoff -v /dev/rootvg/swapvol
El segundo principio es eliminar el volumen, por lo que debe eliminar la partición de intercambio por completo.
# lvremove /dev/rootvg/swapvol
Ahora necesitamos eliminar la siguiente entrada de la /etc/fstab
expediente
/dev/rootvg/swapvol swap swap defaults 0 0
Cómo ajustar la propiedad de intercambio
El valor de intercambio define la frecuencia con la que el sistema intercambia datos de la RAM al espacio de intercambio. El valor de intercambio actual se almacena en el archivo «/ proc / sys / vm / swappiness ‘. Este es un valor entre 0 y 100. Un valor bajo, digamos cercano a cero, hará que el kernel intente evitar el intercambio. Un servidor puede tener un valor más cercano a 0 y Desktop 60 debería estar bien.
# cat /proc/sys/vm/swappiness 60
Conclusión
En este tutorial, aprendimos cómo crear una partición de intercambio y habilitar el intercambio en Linux. La computadora moderna viene con mucha memoria y si cree que su aplicación agotará la memoria, se recomienda agregar un poco de intercambio.
Para computadoras viejas con poca memoria, siempre es bueno dar el doble del tamaño de RAM para su espacio de intercambio.
Espero que haya disfrutado leyendo esto y proporcione sus sugerencias en la sección de comentarios a continuación.