如何扩展现有的交换文件?

Lin*_*ios 6 swap kubuntu ram

我正在运行 Kubuntu 17.10,从 17.04 就地升级。

我的 SSD 上有一个 2GB 交换文件,这是我第一次安装 17.04 时由安装程序创建的。以下是/proc/swaps(因内存不足而重新启动后的内容):

Filename                                Type            Size    Used    Priority
/swapfile                               file            2097148 0       -1
Run Code Online (Sandbox Code Playgroud)

如何将此交换文件扩展到 4GB?我找到了很多关于调整交换分区大小和添加新交换文件的答案,但没有找到关于调整现有文件大小的答案。

rav*_*ery 11

调整文件大小与制作交换文件的过程相同。所以,你有三个选择:

  1. 添加另一个交换文件。2GB 的 2 个文件与 4GB 中的一个相同(即 4GB 交换)
  2. 删除此文件。并制作一个新的 4GB
  3. 重用这个文件。

要新建或重用当前文件,您必须键入:

sudo swapoff -a   # turn off all swap
sudo rm /swapfile # this step is if you want to delete the current file
sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 #makes a 4GB file
sudo chmod 600 /swapfile #set permission to root only if you made a new file
sudo mkswap /swapfile #converts file to swap format
sudo swapon /swapfile #enable swap on the file.
Run Code Online (Sandbox Code Playgroud)

注意:如果您还使用交换分区,则也必须启用它。

如果您只想添加另一个 2GB 文件,则:

sudo dd if=/dev/zero of=/swapfile2 bs=1M count=2048 #makes a 2GB file
sudo chmod 600 /swapfile2 #set permission to root only
sudo mkswap /swapfile2 #converts file to swap format
sudo swapon /swapfile2 #enable swap on the file.
Run Code Online (Sandbox Code Playgroud)

然后编辑 /etc/fstab。复制当前交换文件的条目,并将文件名更改为新文件 (swapfile2)。