Quero fazer uma troca no EBS externo montado, /workspace
E eu conseguiDispositivo ou recurso ocupado
swapon: /workspace/swap.1: swapon falhou: dispositivo ou 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
Ainda não funciona depois de executar sync
o comando
➜ ~ sync
➜ ~ sudo /sbin/swapon /workspace/swap.1
swapon: /workspace/swap.1: swapon failed: Device or resource busy
Aqui estão as informações de troca
➜ ~ cat /proc/swaps
Filename Type Size Used Priority
/workspace/swap.1 file 10485756 0 -1
Responder1
Eu tive um problema semelhante ao tentar criar uma partição swap no sda2. Minha solução foi digitar
#: swapoff /dev/sda2
#: mkswap /dev/sda2
#: swapon /dev/sda2
Isso pareceu redefinir qualquer problema que eu estava tendo. Para ter certeza de que funcionou, use "lsblk" para verificar o ponto de montagem.
Responder2
O problema não é adicionar a troca; o problema é sua suposição de que todo o espaço de troca aparece na saída de df
.
Apenas dados do tipo de partição aparecem nele e, como você está usando a troca no sistema, também conhecida como arquivo de troca, eles não aparecem. O espaço de trocaeraativado pela primeira vez swapon
que você fez; você estava apenas procurando no lugar errado para confirmar isso. O segundo swapon
falhou, com razão, porque você não pode adicionar o mesmo arquivo uma segunda vez. Quando você olhou /proc/swaps
, que é o resumo definitivo do sistema detodosespaço de troca, você viu que seu novo espaço estava instalado e funcionando.
Responder3
Você precisa sync
retirar o cache do bloco após o mkswap
comando.
Sua explicação é a seguinte.
Se você gravar dados, mas eles não forem gravados fisicamente no disco, serão páginas sujas. Isso significa que o conteúdo deles foi criado aqui, no seu sistema, e não foi lido no disco rígido. Assim você não pode trocar em páginas sujas.
Responder4
tente este comando
echo 1 > /sys/block/zram0/reset
substitua "zram0" pela sua partição swap. exemplo:
# 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