Además de la RAM, existe el llamado Intercambio, que es una memoria virtual, donde el contenido de la RAM (páginas) podría intercambiarse en caso de que ya no haya suficiente RAM disponible. Este intercambio se encuentra en el disco y, dado que las lecturas y escrituras del disco son más lentas que las lecturas de la RAM, el acceso a las páginas de la memoria resultará en un retraso. Además de la creación del sistema de archivos, los administradores de Linux también deben prestar mucha atención al uso y las necesidades de intercambio. La publicación describe 3 formas de agregar espacio de intercambio a los sistemas Linux:
2. agregar volumen de intercambio
3. agregando archivo de intercambio
1. Agregar partición de intercambio
1. Ejecute el fdisk o separaron utilidad para identificar discos con suficiente espacio en disco sin usar (sin particionar). Cree una nueva partición de tipo swap (82) . Por ejemplo:
# fdisk /dev/sdb ..... Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-652, default 1): Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G
Asegúrese de modificar el tipo de partición a 82 (Linux swap/Solaris) y guarde la tabla de particiones al final.
Command (m for help): t Selected partition 1 Hex code (type L to list codes): 82 Changed system type of partition 1 to 82 (Linux swap / Solaris) Command (m for help): w The partition table has been altered!
2. Ejecute el comando mkswap contra el dispositivo/partición creada anteriormente usando fdisk/parted. Opcionalmente -L se puede utilizar para establecer LABEL en la partición de intercambio.
# mkswap -L swap1 /dev/sdb1 Setting up swapspace version 1, size = 1060252 KiB LABEL=swap1, UUID=f0a884c9-59b3-47d2-9f06-5884f6a33806
3. Modifique el archivo /etc/fstab para montar el nuevo dispositivo de intercambio en el arranque.
vi /etc/fstab /dev/sdb1 swap swap defaults 0 0
4. Ejecute el comando swapon para habilitar todos los dispositivos de intercambio enumerados en el archivo /etc/fstab y verifique el intercambio agregado usando "swap -s".
# swapon -a # swapon -s Filename Type Size Used Priority /dev/sdb1 partition 1060248 0 -1
1. Agregar volumen de intercambio
1. También podemos agregar un volumen LVM como espacio de intercambio. Para hacerlo, necesitamos crear un volumen en cualquiera de los grupos de volúmenes existentes.
# vgs VG #PV #LV #SN Attr VSize VFree vg_geeklab 1 1 0 wz--n- 19.51g 1.94g
# lvcreate -L 1G -n lv_swap vg_geeklab Logical volume "lv_swap" created
# ll /dev/mapper/vg_geeklab-lv_swap lrwxrwxrwx. 1 root root 7 Oct 22 19:36 /dev/mapper/vg_geeklab-lv_swap -> ../dm-1
2. Ejecute el comando mkswap en el volumen y, opcionalmente, etiquételo con la opción -L.
mkswap -L swap /dev/mapper/vg_geeklab-lv_swap mkswap: /dev/mapper/vg_geeklab-lv_swap: warning: don't erase bootbits sectors on whole disk. Use -f to force. Setting up swapspace version 1, size = 1048572 KiB LABEL=swap, UUID=6d228d34-b67e-4e38-82d4-f068c7bc097e
4. Para hacer que la entrada de intercambio persista entre reinicios, realice una entrada en el archivo /etc/fstab.
# vi /etc/fstab /dev/mapper/vg_geeklab-lv_swap swap swap defaults 0 0
5. Finalmente, habilite el intercambio usando el comando swapon que a su vez lee el archivo /etc/fstab para las entradas de intercambio.
# swapon -a # swapon -s Filename Type Size Used Priority /dev/dm-1 partition 1048568 0 -1
3. Agregar archivo de intercambio
1. En caso de que no quede espacio libre en el disco para crear una nueva partición, también podemos usar el archivo como intercambio. Para hacerlo, use el comando dd para crear un archivo del tamaño requerido.
# dd if=/dev/zero of=/root/swapfile01 bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 6.73334 s, 159 MB/s
2. Creé el archivo de intercambio en el directorio /root para hacerlo más seguro, ya que el usuario normal no puede ingresar a ese directorio. Para hacerlo más seguro, aplique los permisos apropiados al archivo.
# chmod 600 /root/swapfile01
3. Ejecute el comando mkswap para convertir el archivo en un archivo de intercambio.
# mkswap -L swap01 /root/swapfile01 Setting up swapspace version 1, size = 1048572 KiB LABEL=swap01, UUID=ba5f7163-43f6-4001-84c1-2fca3935301f
4. Modifique el archivo /etc/fstab para agregar el nuevo archivo de intercambio.
# vi /etc/fstab /root/swapfile01 swap swap defaults 0 0
5. Ejecute el comando swapon para habilitar todos los dispositivos de intercambio enumerados en el archivo /etc/fstab.
# swapon -a # swapon -s Filename Type Size Used Priority /swap/swapfile01 file 1048568 0 -1
Eliminando intercambio
En caso de que desee eliminar el intercambio agregado, puede hacerlo con el comando swapoff. Asegúrese de eliminar la entrada de intercambio correspondiente del archivo /etc/fstab después de deshabilitar el intercambio.
# swapoff -a ### this will remove all swap(s) mentioned in .etc.fstab # swapoff /dev/sdb1 ### to remove individual swap
Cómo verificar el uso de intercambio
Para verificar el uso de intercambio, puede usar cualquiera de las siguientes utilidades:
1. gratis
# free total used free shared buffers cached Mem: 1004608 934036 70572 0 30124 769640 -/+ buffers/cache: 134272 870336 Swap: 1060248 0 1060248
# grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 1060248 kB SwapFree: 1060248 kB
# top ....... Mem: 1004608k total, 934780k used, 69828k free, 30124k buffers Swap: 1060248k total, 0k used, 1060248k free, 770156k cached .......
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 69828 30124 770156 0 0 40 403 23 22 0 1 99 0 0