交换文件的主要优势在于它可以轻松调整大小,所以除非您对交换分区的大小不满意,否则没有太多转换的意义。您可以将交换移到加密分区以提高安全性,但也有其他加密交换的方法。
从传统上来说,由于多种原因,交换文件并不被鼓励使用。交换文件在 Linux v2.4 之前速度较慢
(参考链接),如果在碎片化的文件系统上创建交换文件,可能仍然会比较慢。使用交换文件时,您可能更容易遇到内存错误,例如捉襟见肘的情况,即在释放一些内存之前无法分配更多内存,但是文件系统需要在您进行交换之前进行分配。几年前,使用交换文件进行休眠就因为类似的原因成为备受争议的新功能。很久以前,当文件系统还有点错误(且未被记录)时,在重要文件系统中进行大量写操作是不明智的,而您只需使用交换分区即可。作为传统默认选项,交换分区已经经过了更多的测试。预计 Canonical 认为这些问题现在不值得担心了。
现在不切换到交换文件的最大原因是“为什么修复不出现问题的东西”。如果您没有备份主分区,并意外删除了
/home
而不是交换分区,那将会很麻烦想要恢复它。
另一个不切换到交换文件的原因是,如果您使用
btrfs
,该
在5.0内核之前不支持交换文件(除非通过慢速回环文件)。
即使您决定使用交换文件,除非空间不足,否则没有真正的必要删除交换分区。如果您愿意,可以同时使用两者。如果您决定删除交换分区,首先使用Ubuntu LiveCD启动,并选择“尝试而不安装”。然后在终端中运行“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
/swapfile
。休眠可能会引起问题。 - Takkat