交换分区与交换文件


47

我正在阅读Ubuntu 17.04的新更改,并且引起了我的注意,该更改已从典型的交换分区模型转换为新安装的新交换文件模型。

使用它而不是交换分区是否有好处,可能与性能,节省空间有关,或在性能,节省空间等方面与当今的硬件(如SSD和NVMe或其他东西)更一致?

另一个相关的问题是如何从交换分区迁移到交换文件?我正在猜测使用dd,但想确认一下,因为到目前为止我还不知道交换文件方案。

最后,休眠将是交换文件的问题吗?

当然,这些问题可能与用户拥有大量RAM且很少使用交换功能的情况有关(我猜)。因此,仅确认此信息将对我和其他有相同疑问的人有所帮助。


关于相关问题:askubuntu.com/questions/903414/…(如果得到回答)
muru

digitalocean.com/community/tutorials/…-我不能说这有所作为,我真的不能。系统像以前一样工作正常(无论如何很少使用交换)。

这是在文件上添加交换的方法。在17.04中,它是一个文件/swapfile。休眠可能是一个问题。
塔卡特

老师@CelticWarrior Takkat,感谢您的链接和信息咨询。确实非常有帮助。如果可能的话,凯尔特人,如果可以的话,请在AskUbuntu中添加具体答案,以防万一。对于每个人来说,确保答案是最新的(不是2012年,而是实际上是整个交换文件开始的2016-2017年),将大有助益,并避免了这段时间内发生的任何更改。
Luis Alvarado

1
如果您对根分区进行了加密,那么交换文件也将被自动加密。不需要做任何特别的事情。因此,这对于普通用户可能是一个进步,他们可能会忘记加密交换。
Maris B.

Answers:


34

交换文件的唯一优点是易于调整大小,因此除非您对交换分区的大小不满意,否则过渡没有太多意义。

传统上,由于多种原因,不鼓励使用swapfile。在Linux v2.4之前,交换文件曾经比较,如果在零散的文件系统上创建交换文件,则速度可能仍然较慢。您可能更有可能通过交换文件来遇到内存错误,例如catch-22,在其中您不能分配更多的内存,直到交换掉一些内存,但是文件系统需要分配才能交换出去。出于类似的原因,几年前休眠到交换文件是一个有争议的新功能。几年前,当文件系统仍然有点漏洞(并且没有日志记录)时,如果您可以只使用交换文件,那么就大量地编写重要的文件系统是不明智的。作为传统默认设置,交换分区比交换文件经过了更多的测试。大概Canonical认为这些问题不再值得担心。

现在不切换到交换文件的最大原因是“为什么要修复未损坏的内容”。如果您不备份主分区,并且不小心删除/home了您的交换文件而不是交换文件,那么尝试找回它就很麻烦。

另一个原因不能切换到交换文件,是如果你使用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

需要hmm的引用。...不确定有问题的文件系统参数,您打算走多远...?至于捕获22,oomkiller会在某种程度上将其分类-小分配应该造成小的杀伤,如果通过fs进行交换没有为这种情况做好准备的小缓冲区,我会感到惊讶
taifwa

5
10多年前,一般的建议是将swap,/ usr / home和/ var都放在不同的分区上,这样,如果其中一个损坏了自己,则可以从其他分区恢复。那大概是在日志变得普遍之前。文件系统仍然存在错误,但是偏执狂可能更适合在勒索软件无法访问的地方进行备份。
gmatht

1
@taifwa我在btrfs FAQ中添加了一个链接,其中他们不支持快速交换文件访问(因为他们不确定如何在不损坏的情况下实现它),并且请注意,不进行切换的最大原因是不修复错误的内容没坏。这有帮助吗?
gmatht

1
@gmatht好吧,您以很好的方式介绍了那里的所有内容。如果您在接下来的几个月/几年中发现交换文件随附的任何新信息,请通过更新此答案告知我们。荣誉和出色的工作。
路易斯·阿尔瓦拉多

3
@PabloBianchi可以的,但是这些天我更愿意交换SSD。将交换器放在旋转磁盘上也会增加磨损。现代SSD的磨损往往不会比旋转磁盘快得多。
gmatht
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.