Quiero usar una partición de mi disco duro para asignar memoria para que funcione como espacio de intercambio en una instancia de Amazon Elastic Compute Cloud (Amazon EC2).
Descripción breve
Para asignar memoria como espacio de intercambio, sigue estos pasos:
- Calcula el tamaño del espacio de intercambio.
- Crea una partición en el disco duro como espacio de intercambio.
- Configura el área de intercambio.
También puedes crear un archivo de intercambio para usarlo como espacio de intercambio. Para obtener más información, consulta ¿Cómo asigno memoria para que funcione como un archivo de intercambio en una instancia de Amazon EC2?
Nota: La instancia utiliza el espacio de intercambio cuando la cantidad de RAM está llena. Puedes usar el espacio de intercambio para las instancias que tienen una cantidad pequeña de RAM, aunque eso no equivale a ampliar la RAM. Como el espacio de intercambio se encuentra en el disco duro de la instancia, el rendimiento es más lento en comparación con la RAM real. Para obtener más memoria o aumentar su velocidad, aumenta el tamaño de la instancia.
Para obtener más información sobre el espacio de intercambio, consulta Swap space (Espacio de intercambio) en el sitio web de Red Hat.
Resolución
Cálculo del tamaño del espacio de intercambio
Se recomienda que el espacio de intercambio sea igual al doble de la RAM física, para un máximo de 2 GB de RAM física. Para cualquier cantidad superior a 2 GB, añade 0,5 veces más de RAM física. También se recomienda no permitir que el espacio de intercambio caiga por debajo de los 32 MB. Consulta la siguiente tabla para calcular el tamaño de tu espacio de intercambio:
| |
|---|
| Cantidad de RAM del sistema | Espacio de intercambio recomendado |
| 2 GiB o menos | El doble de la cantidad de RAM, pero nunca menos de 32 MB |
| Más de 2 GiB, pero menos de 64 GiB | 0,5 veces la cantidad de RAM |
| Más de 64 GiB | Depende de la carga de trabajo o del caso de uso |
Creación de una partición en el disco duro como espacio de intercambio
Para crear una partición en el disco duro como espacio de intercambio, sigue estos pasos:
-
Utiliza AWS Systems Manager o SSH para iniciar sesión en la instancia.
-
Enumera los volúmenes disponibles:
sudo fdisk -l
-
Selecciona un dispositivo de la lista para particionar. En este ejemplo, utiliza el dispositivo /dev/xvda.
sudo fdisk /dev/xvda
-
Crea una nueva partición:
\-> n
-
Selecciona un tipo de partición. En este ejemplo, utiliza primario:
\-> p
-
Asigna el número de partición. En este ejemplo, utiliza la partición 2:
\-> 2
-
Pulsa Entrar para aceptar el valor predeterminado de “First sector” (Primer sector).
-
Introduce el tamaño del archivo de intercambio. Para este ejemplo, hay 2 GB de RAM. La partición que has creado es de 4 GB (especificada como +4G).
\-> +4G
-
Guarda los cambios y sal:
\-> w
Configuración del área de intercambio
Para configurar el área de intercambio, sigue estos pasos:
-
Utiliza el comando partprobe para informar al sistema operativo del cambio en la tabla de particiones:
partprobe
-
Utiliza la partición de intercambio que creaste en los pasos anteriores para configurar un área de intercambio de Linux. En el siguiente ejemplo, la partición de intercambio es /dev/xvda2.
mkswap /dev/xvda2
-
Añade la partición como espacio de intercambio:
sudo swapon /dev/xvda2
-
Muestra el espacio de intercambio actual:
sudo swapon -s
El resultado es similar al siguiente ejemplo:
Filename Type Size Used Priority/dev/xvda2 partition 4194300 0 -1
-
Tras el reinicio, sigue estos pasos para que la asignación de memoria de intercambio sea permanente:
Imprime el UUID desde el comando blkid:
sudo blkid
Copia el UUID de la partición de intercambio de la salida anterior. Usa un editor de texto, como vi o nano, para añadir lo siguiente al archivo /etc/fstab:
UUID=xxxxxxx none swap SW 0 0
-
Guarda el archivo y, a continuación, reinicia.
Tras reiniciar el sistema operativo, utiliza el comando free -h para comprobar que la asignación de memoria de intercambio persiste.