我正在用Ubuntu17.04阅读新的更改,其中一个引起了我的注意,它正从典型的交换分区模型转移到新安装的新交换文件模型。
相对于交换分区而言,使用它是否有好处,可能与性能、节省空间有关,更符合今天的硬件,如SSD和NVMe或其他什么?
另一个相关的问题是如何从交换分区迁移到交换文件?我猜使用dd,但想确认,因为我直到现在才知道交换文件方案。
最后,休眠是否会成为交换文件的一个问题?
当然,这些问题可能与用户拥有大量RAM并且很少使用交换(我猜)的情况有关。因此,为了证实这一信息将帮助我和其他有同样疑问的人。
发布于 2017-04-14 07:44:00
swapfile的主要优点是很容易调整大小,因此,除非您对交换分区大小不满意,否则转换没有多大意义。为了安全起见,您可以将交换区移动到加密的分区,但是还有其他加密交换的方法。
传统上,swapfile被禁止使用,原因有很多。swapfile以前是Linux2.4版本之前更慢,如果在分段文件系统上创建swapfile,则可能会慢一些。您可能更有可能使用swapfile来攻击内存错误,例如,在交换一些文件之前,您不能分配更多的内存,但是文件系统需要在交换之前分配。几年前,出于类似的原因,休眠到交换文件是一个有争议的新特性。几年前,当文件系统仍然有点错误(而不是日志)时,对重要的文件系统执行大量的写操作是不明智的,因为您可以只使用交换分区。作为传统的默认设置,交换分区的测试已经超过了swapfile。想必典范认为这些问题不再值得担心了。
现在不切换到swapfile的最大原因是“为什么要修复没有损坏的东西”。如果您不备份主分区,并且不小心删除了/home而不是交换分区,这将是试图将其取回的麻烦。
不切换到swapfile的另一个原因是如果您使用的是btrfs哪个不支持内核5.0之前的交换文件 (除了通过缓慢的回送文件)。
即使您确实决定使用交换文件,也不需要删除交换分区,除非您缺少空间。如果你想的话,你可以同时使用。如果您确实决定删除交换分区,首先使用Ubuntu LiveCD引导,然后转到try without installing。然后,在运行gparted的终端中,删除交换分区,并调整其余分区的大小(首先执行备份可能是个好主意)。
现在重新启动到您的常规Ubuntu安装并创建swapfile。由于swapfile的优点是很容易调整大小,因此您可能需要使用SwapSpace来管理swapfile的大小:
sudo apt install swapspace您还可以手动创建一个swapfile,方法是按照以下位置的说明: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/fstabhttps://askubuntu.com/questions/904372
复制相似问题