系统安装完成后如何添加swap?

系统安装完成后如何添加swap?

我在安装 Ubuntu 时没有创建交换分区。后来,我释放了一些空间并创建了一个交换分区。现在每次启动后,我都手动打开gparted右键单击交换分区以打开“swapon”选项。

如何在启动时自动启用交换分区?

另外,如果我没有创建交换分区,我还有哪些其他选择?

答案1

您需要编辑/etc/fstab并添加新的交换分区。

sudo nano /etc/fstab

您需要添加如下行

UUID=735b3be3-779c-4d21-a944-b033225f3ab4 none   swap    sw      0       0

然后使用命令获取 UUID

sudo blkid /dev/sda3

(用适当的设备名称替换/dev/sda3;为了查看适当的设备名称,我们可以使用lsblk- 如上所述这里)。

有关的:

答案2

要在安装后创建交换分区,请创建一个空分区。该分区不应有空洞。然后可以使用以下命令格式化此分区:

sudo mkswap /dev/sdX

替换/dev/sdX你的分区。使用以下命令将此分区挂载为交换分区

sudo swapon -U UUID

其中 UUID 是您的,/dev/sdX如下所示:

blkid /dev/sdX

/etc/fstab通过添加以下行来绑定你的新交换:

UUID=xxx    none    swap    sw      0   0

如果您想使用交换区进行休眠,则需要使用/etc/initramfs-tools/conf.d/resume此内容更新 UUID RESUME=UUID=xxx。别忘了$ sudo update-initramfs -u

完成事情:如果您没有备用分区,也可以创建交换文件。这个答案让您了解如何创建交换文件并在启动时启用它。

答案3

如果您不想或不确定如何创建交换分区,您可以创建一个交换文件,其工作方式与分区相同。步骤如下(使用终端):

  1. 创建一个空文件(1K * 4M = 4 GiB)。

    sudo mkdir -v /var/cache/swap
    cd /var/cache/swap
    sudo dd if=/dev/zero of=swapfile bs=1K count=4M
    sudo chmod 600 swapfile
    
  2. 将新创建的文件转换为交换空间文件。

    sudo mkswap swapfile
    
  3. 启用文件分页和交换。

    sudo swapon swapfile
    

    验证方式:swapon -stop

    top -bn1 | grep -i swap
    

    应显示如下行:KiB Swap: 4194300 total, 4194300 free

    要禁用,请使用sudo swapoff swapfile命令。

  4. 将其添加到fstab文件中以使其在下次系统启动时持久保留。

    echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    
  5. 在启动时重新测试交换文件:

    sudo swapoff swapfile
    sudo swapon -va
    

    注意:上述命令重新检查文件的语法fstab,否则您的 Linux 无法正常启动。

答案4

linux.com只需创建交换文件,因为这样更灵活,您可以动态调整交换存储的数量和大小。这还允许您将交换分区移出系统磁盘,从而使系统更快。此外,如果您使用多个交换空间,请将它们的使用优先级调整为相同的值,以便使用循环写入它们,从而让您获得更大的速度改进。

ps 我会使用 UUID 而不是设备名称,因为如果您不小心将 USB 存储设备留在 USB 插槽内并简单地拔下并插回 sata 电缆,很容易更改设备顺序 - 您不需要太担心哪个驱动器连接在哪里。

相关内容