swapon 失敗: マウントされたディスク上のデバイスまたはリソースがビジー状態です

swapon 失敗: マウントされたディスク上のデバイスまたはリソースがビジー状態です

マウントされた外部EBS、/workspaceにスワップを作成したい

そして私はデバイスまたはリソースがビジー状態です

swapon: /workspace/swap.1: swapon 失敗: デバイスまたはリソースがビジー状態です

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

syncコマンドを実行してもまだ動作しません

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

スワップ情報はこちら

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

答え1

sda2にスワップパーティションを作成しようとしたときに同様の問題が発生しました。私の解決策は次のように入力することでした。

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

これで、私が抱えていた問題がリセットされたようです。これが機能するかどうかを確認するには、「ブロックマウントポイントを確認します。

答え2

問題はスワップを追加することではなく、すべてのスワップ領域が の出力に表示されるという想定にありますdf

そこにはパーティションタイプのデータのみが表示され、システム内スワップ、つまりスワップファイルを使用しているため、それは表示されません。スワップスペースだった最初に実行した方法でswaponは、確認する場所が間違っていました。2回目はswapon失敗しました。同じファイルを2度追加することはできないため、当然のことです/proc/swaps全てスワップ スペースでは、新しいスペースが稼働していることがわかりました。

答え3

syncコマンドの後にブロック キャッシュを削除する必要がありますmkswap

その説明は以下の通りです。

データを書き込んでも、それが物理的にディスクに書き出されていない場合、そのページはダーティ ページになります。つまり、そのコンテンツはシステム上で作成され、ハード ディスクから読み込まれなかったということです。したがって、ダーティ ページをスワップすることはできません。

答え4

このコマンドを試してください

echo 1 > /sys/block/zram0/reset

「zram0」をスワップパーティションに置き換えます。例:

    # 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

関連情報