error de intercambio: dispositivo o recurso ocupado en el disco montado

error de intercambio: dispositivo o recurso ocupado en el disco montado

Quiero hacer un intercambio en EBS externo montado, /workspace

y tengoDispositivo o recurso ocupado

swapon: /workspace/swap.1: swapon falló: dispositivo o recurso ocupado

sudo /bin/dd if=/dev/zero of=/workspace/swap.1 bs=1M count=10240
sudo /sbin/mkswap /workspace/swap.1
sudo /sbin/swapon /workspace/swap.1


Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.8G  5.1G  2.3G  70% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            2.0G   12K  2.0G   1% /dev
tmpfs           396M  336K  395M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            2.0G     0  2.0G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/xvdb       6.0T  1.7T  4.1T  29% /workspace

Todavía no funciona después de ejecutar syncel comando

➜  ~  sync
➜  ~  sudo /sbin/swapon /workspace/swap.1
swapon: /workspace/swap.1: swapon failed: Device or resource busy

Aquí está la información del intercambio.

➜  ~   cat /proc/swaps
Filename                Type        Size    Used    Priority
/workspace/swap.1                       file        10485756    0   -1

Respuesta1

Tuve un problema similar al intentar crear una partición de intercambio en sda2. Mi solución fue escribir

#: swapoff /dev/sda2
#: mkswap /dev/sda2
#: swapon /dev/sda2

Esto pareció restablecer cualquier problema que estuviera teniendo. Para asegurarse de que esto funcionó, use "lsblk" para comprobar el punto de montaje.

Respuesta2

El problema no es agregar el swap; el problema es su suposición de que todo el espacio de intercambio aparece en la salida de df.

En eso solo aparecen datos de tipo partición y, como estás utilizando el intercambio en el sistema, también conocido como archivo de intercambio, no aparece. El espacio de intercambioeraactivado por el primero swaponque hiciste; Estabas buscando en el lugar equivocado para confirmarlo. El segundo swaponfalló, con razón, porque no puedes agregar el mismo archivo una segunda vez. Cuando miraste /proc/swaps, cuál es el resumen definitivo del sistema detodointercambia espacio, viste que tu nuevo espacio estaba en funcionamiento.

Respuesta3

Debes synceliminar el caché del bloque después del mkswapcomando.

Su explicación es la siguiente.

Si escribe datos, pero no se escriben físicamente en el disco, serán páginas sucias. Significa que su contenido se creó aquí, en su sistema, y ​​no se leyó desde el disco duro. Por lo tanto, no puedes intercambiar páginas sucias.

Respuesta4

prueba este comando

echo 1 > /sys/block/zram0/reset

reemplace "zram0" con su partición de intercambio. ejemplo:

    # Zram disk - 512MB size
#zram_enable=`getprop ro.config.zram`
#if [ "$zram_enable" == "true" ]; then
#    swapoff /dev/block/zram0
#    echo 1 > /sys/block/zram0/reset
#    echo 536870912 > /sys/block/zram0/disksize
#    mkswap /dev/block/zram0
#    sync
#    swapon /dev/block/zram0 -p 32758

información relacionada