交换分区和交换文件

Modified on: Sat, 09 Jun 2018 15:24:53 +0800

我正在阅读Ubuntu 17.04的新变化,其中一个引起了我的注意,它从典型的交换分区模型转移到新安装的新交换文件模型。

与交换分区相比,使用它有什么好处,可能与性能,节省空间有关,更符合当今的硬件,如SSD和NVMe或其他东西。

另一个相关问题是如何从交换分区迁移到交换文件。我猜测使用dd但想确认,因为直到现在才知道交换文件方案。

最后,休眠会成为交换文件的问题吗?

当然,这些问题可能与用户拥有大量RAM并且很少使用交换的情况有关(猜测)。所以只是为了确认这些信息对我和其他人有同样的怀疑。

最佳答案

交换文件的唯一优点是它很容易调整大小,因此转换没有多大意义,除非您对交换分区大小不满意。

出于多种原因,不鼓励使用传统的交换文件。交换文件曾经是在Linux v2.4之前慢一点,可能仍然是如果在碎片文件系统上创建交换文件,则会更慢。您可能更有可能使用交换文件来查找内存错误,例如catch-22s,在您交换一些内容之前无法分配更多内存,但文件系统需要在交换之前进行分配。几年前,由于类似的原因,冬眠到交换文件是一个有争议的新功能。多年前,当文件系统仍然有点错误(而不是记录)时,做大量写入重要文件系统是不明智的,而你可以只使用交换文件。作为传统的默认设置,交换分区的测试比交换文件更多。据推测,Canonical认为这些问题不再值得担心了。

现在不切换到交换文件的最大原因是“为什么要修复未破坏的东西”。如果你没有备份你的主分区,并且意外地删除了你的/home而不是你的交换文件,那么尝试将其取回将是一件麻烦事。

不切换到swapfiles的另一个原因是,如果您使用的是btrfs 还不支持交换文件(通过慢速环回文件除外)


即使您决定使用交换文件,也不需要删除交换分区,除非您的空间不足。如果需要,您可以同时使用两者。如果您决定删除交换分区,首先使用Ubuntu LiveCD启动,然后转到try without installing。然后在终端运行gparted,删除交换分区,并调整剩余分区的大小(首先进行备份可能是个好主意。)

现在重新启动到您的常规Ubuntu安装并创建交换文件。由于交换文件的优点是易于调整大小,您可能希望使用SwapSpace来管理交换文件的大小:

sudo apt install swapspace

您还可以按照以下说明手动创建交换文件:https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

简而言之,您可以通过将以下内容粘贴到终端中来制作1G交换文件

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

如果可行,您可以通过以下方式使其永久化:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

相关问答

添加新评论