在 20.04 增加交换

Yeh*_*uda 10 partitioning hibernate swap

我正在运行 Ubuntu 20.04,我正在尝试创建一个休眠命令。我正在遵循这些说明

第 2 步说

然后检查您分配的交换内存是否大于或至少等于物理内存(RAM)。

我这样做了,我的/swapfile是 2 GB。我有 16 GB RAM,所以我需要增加该交换文件的大小。我如何在 Ubuntu 中做到这一点?

Abh*_*til 23

在睡眠模式下,内存内容保持原样,计算机工作在极低功耗模式下,以保持内存内容完整(因为内存断电会丢失数据)。但是在休眠状态下,ram 内容存储在交换空间中,因此可以完全切断电源。因此,建议交换大小与 ram 大小一样大。

  1. 首先禁用交换并删除它

     sudo swapoff /swapfile  
     sudo rm  /swapfile
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建大小为 16 GB (16 * 1024 = 16384) 的新交换空间。bs是块大小。基本上 bs * count = 要分配的字节数(在本例中为 16 GB)。这里 bs = 1M(M 代表 mega,所以我们分配 1MB 块大小)并且我们分配 16384 * 1MB (=16GB) 来交换。

     sudo dd if=/dev/zero of=/swapfile bs=1M count=16384
    
    Run Code Online (Sandbox Code Playgroud)
  3. 给它root的读/写权限

     sudo chmod 600 /swapfile
    
    Run Code Online (Sandbox Code Playgroud)
  4. 格式化它以交换

     sudo mkswap /swapfile
    
    Run Code Online (Sandbox Code Playgroud)
  5. 再次开启交换

     sudo swapon /swapfile
    
    Run Code Online (Sandbox Code Playgroud)
  6. 现在重新启动 PC 以进行上述更改。

  • 无需删除文件或使用“dd”。“错误定位”更快更容易。为什么要在那里写零? (5认同)
  • @Pilot6 当然,这也有效。我记得我使用了上面的命令,所以我写了这个。我确信 OP 所有者只需要完成工作,而不是快速完成。 (2认同)
  • 这很有帮助...谢谢 (2认同)
  • 谢谢阿拜·帕蒂尔。请注意:我不需要在 Ubuntu 20.04 上重新启动,您可以将交换文件放在您想要的位置(不需要位于根文件夹/驱动器中)。 (2认同)

Mun*_*raj 15

以下步骤对我fallocate有用

  1. 检查交换信息

sudo swapon --show

输出将类似于下面的内容,

NAME      TYPE   SIZE   USED   PRIO
/swapfile file    2G     0G    -2
Run Code Online (Sandbox Code Playgroud)
  1. 停用交换空间

sudo swapoff /swapfile

  1. 用于fallocate立即创建指定大小的文件。

sudo fallocate -l 16G /swapfile

  1. 设置交换空间

sudo mkswap /swapfile

  1. 激活交换空间

sudo swapon /swapfile

  1. 现在检查交换信息

sudo swapon --show

现在输出将如下所示,

NAME      TYPE   SIZE   USED   PRIO
/swapfile file   16G     0B    -2
Run Code Online (Sandbox Code Playgroud)

干杯!

  • 这应该是公认的答案。 (2认同)