添加新的交换文件。 如何编辑fstab以在重启后启用交换?

由于某些分区问题,我删除了现有的交换分区。 我现在没有交换空间所以我创建了一个交换文件:

dd if=/dev/zero of=/root/myswapfile bs=1M count=1024 

这是在swapon -s

 /root/myswapfile file 1048572 1320 -1 

现在我想编辑我的/etc/fstab以在重启后启用交换文件。

这些是在文件上创建交换的步骤:

创建一个大文件,例如

 sudo mkdir -p /var/cache/swap/ # create a directory that holds the swap file sudo dd if=/dev/zero of=/var/cache/swap/myswap bs=1M count=4096 # for 4 GByte 

当然, 任何其他创建定义大小的文件的方法都可以。

宣布交换到系统

 sudo chmod 0600 /var/cache/swap/myswap # only root should have access sudo mkswap /var/cache/swap/myswap # format as swap sudo swapon /var/cache/swap/myswap # announce to system 

/etc/fstab插入以下行,以便从下次启动时进行交换:

 /var/cache/swap/myswap none swap sw 0 0 

注意:如果您在SSD上有系统文件,可能需要考虑将交换文件保存在硬盘位置。

另请注意:您不能使用交换文件进行hibernate(请参阅Ubuntu SwapFaq )

Ubuntu的附加说明> = 17.04:默认情况下,在新安装中创建文件/swapfile文件上的/swapfile (当没有交换分区时)。 如果我们愿意,我们可以稍后手动创建交换分区 。

如果我们想用另一个交换(例如,在文件上)替换现有的交换(例如分区),我们需要删除旧的交换

 sudo swapoff -a # for all 

然后从/etc/fstab删除交换条目或分别用新的swap替换它。