swapon 失败:已安装磁盘上的设备或资源繁忙

poc*_*poc 6 ubuntu

我想在挂载的外部 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
Run Code Online (Sandbox Code Playgroud)

运行sync命令后仍然无法正常工作

?  ~  sync
?  ~  sudo /sbin/swapon /workspace/swap.1
swapon: /workspace/swap.1: swapon failed: Device or resource busy
Run Code Online (Sandbox Code Playgroud)

这是交换信息

?  ~   cat /proc/swaps
Filename                Type        Size    Used    Priority
/workspace/swap.1                       file        10485756    0   -1
Run Code Online (Sandbox Code Playgroud)

小智 10

我在尝试在 sda2 上创建交换分区时遇到了类似的问题。我的解决方案是输入

#: swapoff /dev/sda2
#: mkswap /dev/sda2
#: swapon /dev/sda2
Run Code Online (Sandbox Code Playgroud)

这似乎重置了我遇到的任何问题。为了确保这有效,请使用“ lsblk ”检查挂载点。


pet*_*erh 1

您需要在命令sync后清空块缓存mkswap

其解释如下。

如果您写入数据,但它们没有物理地写入磁盘,那么它们将是脏页。这意味着它们的内容是在您的系统上创建的,而不是从硬盘读取的。因此你不能在脏页上进行交换。