GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo aumentar el tamaño de intercambio en RHEL 8 / CentOS 8

En un sistema con una carga de trabajo intensiva en memoria con picos de carga comunes, una gran memoria de intercambio puede ser útil para almacenar grandes contenidos de memoria que no se necesitan en este momento. Si bien el uso de intercambio en lugar de memoria ciertamente tendrá un gran impacto en el rendimiento, a veces esto es preferible a agregar más memoria a la máquina, ya que el espacio en disco es mucho más económico. A veces simplemente no hay más memoria, tal vez una máquina física que no tiene ranuras libres y no hay módulos de memoria más grandes en el mercado. En otras ocasiones, el rendimiento más lento en picos de carga puede ser preferible a que la aplicación se bloquee con un error de falta de memoria.

En algunos casos, es necesario aumentar la memoria de intercambio, un ejemplo en vivo podría ser expandir la memoria en la máquina y, por lo tanto, expandir el espacio de intercambio para que coincida con el doble del nuevo tamaño de memoria.

En este tutorial aprenderás:

  • Cómo comprobar el espacio de intercambio.
  • Cómo identificar el volumen de intercambio.
  • Cómo ampliar el volumen de intercambio.
  • Cómo agregar otro volumen de intercambio.

Comprobación del tamaño y uso del intercambio con el comando gratuito.

Requisitos de software y convenciones utilizadas

Instrucciones paso a paso sobre cómo aumentar el tamaño de intercambio en RHEL 8

En nuestra configuración de laboratorio, la partición de intercambio está en un volumen lógico. Esta es la configuración más común, ya que LVM es una forma muy flexible de manejar el espacio en disco. El tutorial de LVM cubre la arquitectura y el uso del Logical Volume Manager, por lo que no entraremos en detalles al usar lvextend para aumentar el tamaño del volumen de intercambio. Aumentaremos el intercambio inicial de 1 GB a 2 GB.

  1. Necesitamos averiguar qué volumen es nuestra partición de intercambio:

    # grep swap /etc/fstab 
    /dev/mapper/rhel_rhel8lab-swap swap                    swap    defaults        0 0
    

    Como los nombres de volumen predeterminados se generan con un nombre de host corto, y mientras creamos un volumen lógico podemos nombrarlo explícitamente, el nombre del volumen variará.

    En nuestro ejemplo, tomamos nota del nombre del volumen con la ruta, que es /dev/mapper/rhel_rhel8lab-swap o /dev/rhel_rhel8lab/swap . Estos dos nombres para la partición pueden resultar confusos a primera vista, pero si enumeramos ambos, podemos ver que en realidad son enlaces simbólicos que apuntan al mismo dispositivo:

    # ls -al /dev/rhel_rhel8lab/swap
    lrwxrwxrwx. 1 root root 7 Nov 25 18:35 /dev/rhel_rhel8lab/swap -> ../dm-1
    # ls -al /dev/mapper/rhel_rhel8lab-swap
    lrwxrwxrwx. 1 root root 7 Nov 25 18:35 /dev/mapper/rhel_rhel8lab-swap -> ../dm-1
    

    Los usaremos indistintamente en los próximos pasos.

  2. Necesitamos deshabilitar el intercambio en el volumen mientras trabajamos en él. Usamos el nombre completo del volumen que encontramos en el primer paso.

    # swapoff -v /dev/mapper/rhel_rhel8lab-swap
    swapoff /dev/mapper/rhel_rhel8lab-swap
    
    ADVERTENCIA
    ¡No deshabilite el intercambio en un servidor de producción mientras esté bajo carga pesada y esté usando el intercambio en exceso! En tal escenario, agregue otra partición de intercambio en su lugar.
  3. Para aumentar el tamaño del intercambio, extendemos el volumen lógico que lo contiene. En este ejemplo con un Gigabyte más:

    # lvextend -L +1G /dev/rhel_rhel8lab/swap 
      Size of logical volume rhel_rhel8lab/swap changed from 1.00 GiB (256 extents) to 2.00 GiB (512 extents).
      Logical volume rhel_rhel8lab/swap successfully resized.
    

    Tenga en cuenta que debe asegurarse de tener suficiente espacio libre en el grupo de volúmenes que contiene el volumen lógico, como lo haría en cualquier otra extensión de volumen que contenga sistemas de archivos.

  4. Volvemos a crear el intercambio en el volumen extendido:

    # mkswap /dev/mapper/rhel_rhel8lab-swap 
    mkswap: /dev/mapper/rhel_rhel8lab-swap: warning: wiping old swap signature.
    Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
    no label, UUID=defca15e-a5ed-4fe8-bddd-5f11a3c76e80
    
  5. Volvemos a activar el intercambio en el volumen de intercambio extendido:

    # swapon -v /dev/mapper/rhel_rhel8lab-swap 
    swapon: /dev/mapper/rhel_rhel8lab-swap: found signature [pagesize=4096, signature=swap]
    swapon: /dev/mapper/rhel_rhel8lab-swap: pagesize=4096, swapsize=2147483648, devsize=2147483648
    swapon /dev/mapper/rhel_rhel8lab-swap
    
  6. Es una buena práctica verificar siempre que la modificación del sistema sea exitosa. En este caso free -m (información de la memoria con valores en Megabytes) debería mostrar que tenemos 2 GB de intercambio:

    # free -m
                  total        used        free      shared  buff/cache   available
    Mem:           1989        1201         225          17         562         617
    Swap:          2047           0        2047
    

Cómo agregar una nueva partición de intercambio en RHEL 8 instrucciones paso a paso

Cuando deshabilitar el intercambio para aumentar su tamaño no es apropiado, podemos aumentar el intercambio general agregando otro volumen que también sea una partición de intercambio. Cuando hayamos terminado, simplemente se lo damos al sistema, que comenzará a usarlo según sea necesario.

  1. Creamos un nuevo volumen lógico con LVM como lo haríamos si quisiéramos un nuevo volumen que almacene un sistema de archivos:

    # lvcreate -L 1G -n swap2 rhel_rhel8lab
      Logical volume "swap2" created.
    

    En la misma máquina de laboratorio, esto dará como resultado un nombre de ruta completo de la nueva partición como /dev/mapper/rhel_rhel8lab-swap2 , lo mismo que /dev/rhel_rhel8lab/swap2 .

  2. Cree el intercambio con mkswap :

    # mkswap /dev/rhel_rhel8lab/swap2
    Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
    no label, UUID=a319fb8d-18b8-42b7-b6bf-cafb27aaec2b
    
  3. Activar intercambio en el nuevo volumen:

    # swapon /dev/rhel_rhel8lab/swap2
  4. Y verifica los resultados:

    # free -m
                  total        used        free      shared  buff/cache   available
    Mem:           1989        1198         153          14         637         623
    Swap:          2047           0        2047
    
  5. Para que el sistema operativo pueda usar la nueva partición de intercambio después de reiniciar, debemos agregarla a /etc/fstab :

    # grep swap /etc/fstab 
    /dev/mapper/rhel_rhel8lab-swap swap                    swap    defaults        0 0
    /dev/mapper/rhel_rhel8lab-swap2 swap                    swap    defaults        0 0
    

    La diferencia entre los dos métodos se puede delinear comprobando el contenido de /proc/swaps , donde podemos ver que al agregar otro volumen en lugar de extender el que ya tenemos resultará en dos dispositivos utilizados para el intercambio:

    # cat /proc/swaps 
    Filename				Type		Size	Used	Priority
    /dev/dm-1                               partition	1048572	0	-2
    /dev/dm-2                               partition	1048572	0	-3
    

Cent OS
  1. Cómo aumentar el intercambio en Linux/CentOS/Redhat/Ubuntu

  2. Cómo crear y habilitar la partición de intercambio en Centos/RHEL 8

  3. RHEL/CentOS:cómo reducir el volumen de LVM

  4. CentOS / RHEL:Cómo eliminar el volumen LVM

  5. Cómo aumentar el espacio de intercambio en Linux

Cómo instalar PHP-mbstring en RHEL 8 / CentOS 8

Cómo instalar phantomjs en RHEL 8 / CentOS 8

Cómo instalar Dropbox en RHEL 8 / CentOS 8

Cómo instalar la brújula en RHEL 8 / CentOS 8

Cómo instalar Puppet en RHEL 8 / CentOS 8

CentOS / RHEL:Cómo agregar una nueva partición de intercambio

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema RHEL 8 / CentOS 8
    Software lvm2-2.03.00-0.4, util-linux-2.32.1-6
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios