Agregar un nuevo archivo de intercambio. ¿Cómo editar fstab para habilitar el intercambio después de reiniciar?

50

He eliminado mi partición de intercambio existente debido a algún problema de partición. No tengo un espacio de intercambio ahora, así que he creado un archivo de intercambio con:

dd if=/dev/zero of=/root/myswapfile bs=1M count=1024

Aquí está después swapon -s:

/root/myswapfile    file    1048572    1320    -1

Ahora quiero editar mi /etc/fstabpara habilitar el archivo de intercambio después de reiniciar.

jojo
fuente
1
El intercambio en SSD es peligroso porque las unidades SSD tienen baja duración en operaciones de escritura intensa. Esto significa que realmente puede consumir su preciosa y costosa unidad SSD así.
2
Observe que bs=1G count=1daría el mismo resultado, eche un vistazo a la página de manual de dd para las otras unidades.
LiveWireBT

Respuestas:

79

Estos son los pasos para crear un intercambio en un archivo:

Crear un archivo grande, por ejemplo, con

sudo mkdir -p /var/cache/swap/   # create a directory that holds the swap file
sudo dd if=/dev/zero of=/var/cache/swap/myswap bs=1M count=4096 # for 4 GByte

Por supuesto, cualquier otro método para crear un archivo de tamaño definido sería suficiente.

Anunciar cambio al sistema

sudo chmod 0600 /var/cache/swap/myswap # only root should have access
sudo mkswap /var/cache/swap/myswap # format as swap
sudo swapon /var/cache/swap/myswap # announce to system

Inserte la siguiente línea /etc/fstabpara el intercambio desde el próximo arranque:

/var/cache/swap/myswap    none    swap    sw    0   0

Nota: en caso de que tenga los archivos de su sistema en un SSD, puede considerar guardar su archivo de intercambio en una ubicación de disco duro.

También tenga en cuenta: No puede usar un archivo de intercambio para la hibernación (consulte Ubuntu SwapFaq )

Nota adicional para Ubuntu> = 17.04:/swapfile se crea un intercambio en el archivo de forma predeterminada en una nueva instalación (cuando no había una partición de intercambio). Podemos crear manualmente una partición de intercambio más adelante si lo preferimos.

En caso de que queramos reemplazar un intercambio existente (por ejemplo, partición) con otro intercambio (por ejemplo, en el archivo), necesitamos eliminar el intercambio anterior con

sudo swapoff -a  # for all

Luego, elimine la entrada de intercambio /etc/fstabo reemplácela con el nuevo intercambio respectivamente.

Takkat
fuente
1
¿Por qué no querrías cambiar tu SSD también?
Joseph Garvin
1
@JosephGarvin: como el desgaste probablemente no sea un problema, aún desperdicia mucho espacio (costoso) en el disco cuando se intercambia SSD. Dependiendo de la RAM de su sistema, es posible que no necesite cambiar con demasiada frecuencia. askubuntu.com/questions/178661/do-i-need-swap-with-new-ssd
Takkat
1
Gracias, ¿cómo verificaría que /etc/fstabmontaría el archivo de intercambio correctamente sin reiniciar? No puedo ver el archivo de intercambio si lo hagomount -a && mount
Don Giulio
2
@ user72464 Para mostrar todos los intercambios utilizados, podemos emitir swapon -s. El intercambio disponible también se muestra en free -h.
Takkat
1
@ user72464 Simple .. domount -a
heemayl