swapon no tiene efecto, / proc / swaps permanece vacío

10

Mi servidor Ubuntu no tiene más de 512 MB de memoria. No es suficiente para ejecutar Node.js + MongoDB.

Por lo tanto, decidí agregar un archivo de intercambio:

# dd if=/dev/zero of=/root/myswapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 4.69263 s, 229 MB/s
# mkswap /root/myswapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=3c64da32-d0b4-49e5-92db-fba961b8ae28
# swapon /root/myswapfile

Sin mensaje de error => exitoso!

El nuevo archivo de intercambio ahora debería aparecer en la lista, pero no lo es :

# swapon -s
Filename                Type        Size    Used    Priority

(lista vacía)

¿Cómo puedo hacer que funcione? ¿Cuál podría ser la razón del intercambio perdido?

usuario22611
fuente
1
Intente mover el archivo de intercambio a la raíz de la partición aka/
2707974
1
Cuando lo probé por primera vez, lo probé con / swapfile
user22611
2
Cambiar permiso chmod 600 /root/myswapfileotra vezswapon /root/myswapfile
2707974
1
Eso no ayudó ... Aviso interesante: necesito intercambiar antes de cambiar, aunque el intercambio nunca aparece en la lista.
user22611
3
¿ freemuestra algún uso de intercambio?
mdd

Respuestas:

4

Primero, borre su archivo de intercambio original:

sudo rm /myswapfile

A continuación, ejecute los siguientes comandos uno por uno:

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
ls -lh /swapfile

El resultado debe ser similar al siguiente:

-rw------- 1 root root 1.0G Aug  3 18:20 /swapfile

Ahora, ejecute los siguientes comandos:

sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon -s

Ahora, edite / etc / fstab para que los cambios sean permanentes:

sudo nano /etc/fstab

y agregue la siguiente línea al final del archivo:

/swapfile    none            swap    sw              0       0

Presione CTRL+ oy luego presione ENTERpara guardar el archivo.

Presione CTRL+ xpara salir de nano.

fuente: https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04


Si eso todavía no funciona, es posible que desee verificar el intercambio:

cat /proc/sys/vm/swappiness

Este comando debería devolver un número. El valor predeterminado debe ser 60.

Si no hay salida, ejecute los siguientes comandos uno por uno:

sudo sysctl vm.swappiness=60
echo "vm.swappiness = 60" | tee -a /etc/sysctl.conf

¡ -a Es importante después teeo sobrescribirá todo el archivo!

mchid
fuente
1

Utilizar fdiskpara crear un intercambio. Agregue una nueva partición, seleccione intercambio de Linux, escriba los cambios. mkswap /dev/sd? Necesitas agregarlo a tu /etc/fstab/. Cambie XXX por el UUID de intercambio.

UUID=XXX none            swap    sw              0       0

Ejecutar swapon -apara que esté disponible desde /etc/fstab.

nicoX
fuente
1

Su archivo de intercambio debe estar en / swapfile con 600 derechos.

#moving file and changing rights
sudo mv /root/myswapfile /myswapfile
sudo chmod 600 /myswapfile

sudo mkswap /myswapfile

agregar archivo de intercambio. Creo que olvidas este comando

sudo swapon /myswapfile
#check swap is working
sudo swapon -s
UNIm95
fuente
1
El comando chmod necesita ser sudo chmod 600.... También puede ser la toma de mérito es propiedad de root: sudo chown root:root ....
Wilf
1
Si ve la publicación principal de @ user22611 use ver que él trabaja como root.
UNIm95
1
makeswapmkswap
user22611
1
@ user22611 sí. Tienes razón. mkswap y chmod.
UNIm95
1
@ UNIm95: puede editar su publicación para solucionar estos problemas ...
Wilf
-1

podrías hacer esto:

sudo umount -a
gedit /etc/fstab

y escribe donde swap es esto:

/proc/swap     proc   default  errors=noremount     1

y luego esto:

sudo mount -a

y luego ejecute gpart y configure la unidad de intercambio como intercambio, y móntelo en la unidad de desarrollo raíz, y podría funcionar bien de esta manera.

Miguel
fuente
44
Err ... ¿no sudo umount -adesmonta TODO? (que puede romper cosas si está en uso) Si está intentando desmontar cosas de intercambio existentes primero, puede ser mejor encontrarlas mounty luego desmontarlas específicamente, o usarlas sudo swapoff -a.
Wilf
1
es lo que hice, no debería romper nada de lo que hiciste, y es lo único que puedes hacer.
Michael
2
Correr umount -aes una idea realmente tonta. Desmonta lo que necesitas desmontar, no todo.
pzkpfw