交换文件的唯一优点是易于调整大小,因此除非您对交换分区的大小不满意,否则过渡没有太多意义。
传统上,由于多种原因,不鼓励使用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