Ubuntu设置swap

2024年5月27日 · 892 字 · 2 分钟

Ubuntu设置swap分区

在 Ubuntu 系统中,可以通过以下步骤来设置 Swap 分区或 Swap 文件。 如下是具体的操作步骤:

1. 检查是否已有 Swap

首先,查看系统是否已经有 Swap 分区或 Swap 文件:

sudo swapon --show

如果输出为空,说明没有配置 Swap。

2. 创建 Swap 文件

如果没有 Swap 分区或您希望使用 Swap 文件,可以按照以下步骤操作:

创建一个空文件作为 Swap 文件。例如,创建一个 2GB 的 Swap 文件:

sudo fallocate -l 2G /swapfile

如果 fallocate 命令不可用,可以使用 dd 命令:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

修改 Swap 文件的权限,使其只有 root 用户可以访问:

sudo chmod 600 /swapfile

将这个文件格式化为 Swap 文件:

sudo mkswap /swapfile

启用 Swap 文件:

sudo swapon /swapfile

验证 Swap 是否已经启用:

sudo swapon --show

3. 持久化设置

为了在系统重启后仍然保留 Swap 文件,需要将 Swap 文件的信息添加到 /etc/fstab 文件中。

编辑 /etc/fstab 文件:

sudo nano /etc/fstab

在文件末尾添加以下行:

/swapfile none swap sw 0 0

保存并退出编辑器(对于 nano,按 Ctrl + X,然后按 Y 保存并退出)。

4. 调整 Swappiness(可选)

Swappiness 参数控制了 Linux 内核会使用 Swap 的频率,值的范围是 0 到 100。较低的值会让系统优先使用物理内存,较高的值会更频繁地使用 Swap。默认值通常是 60,可以通过以下方式查看和调整该值:

查看当前 Swappiness 值:

cat /proc/sys/vm/swappiness

临时修改 Swappiness 值(例如设置为 10):

sudo sysctl vm.swappiness=10

若要永久修改 Swappiness 值,编辑 /etc/sysctl.conf 文件:

sudo nano /etc/sysctl.conf

添加或修改以下行:

vm.swappiness=10

保存并退出编辑器。

5. 要删除 Swap 分区

  1. 关闭 Swap 分区 首先,确保 Swap 分区不再被使用:
sudo swapoff /dev/sdX#

其中 /dev/sdX# 表示具体的 Swap 分区设备号。

  1. 编辑 /etc/fstab 删除 Swap 分区的条目 为了防止系统在重启后再次挂载该 Swap 分区,需要编辑 /etc/fstab 文件,删除与该 Swap 分区相关的条目:
sudo nano /etc/fstab

找到包含 Swap 分区设备号的那一行并删除它。例如:

/dev/sda3 none swap sw 0 0

删除该行后,保存并退出编辑器(对于 nano,按 Ctrl + X,然后按 Y 保存并退出)。

  1. 删除分区(可选) 如果你希望彻底删除该分区,以便将其用于其他用途,可以使用 fdisk 或 parted 等工具进行分区管理。以下以 fdisk 为例说明如何删除分区:

启动 fdisk:

sudo fdisk /dev/sda

输入 p 列出当前分区:

Command (m for help): p

输入 d 删除分区,然后输入分区号(例如,3 表示 /dev/sda3):

Command (m for help): d
Partition number (1-4): 3

输入 w 保存更改并退出 fdisk:

Command (m for help): w

上述操作可以删除指定的 Swap 分区。请注意,删除分区后,所有该分区上的数据将被清除,请确保没有重要数据存储在该分区中。

参考资料