Debian 12 服务器设置 Swap 方法

推荐:使用 Swap 文件(更灵活、易于管理)

1. 创建 Swap 文件

* 确定 Swap 文件大小:
* 通常建议 Swap 文件大小为 RAM 的 1-2 倍,但如果你的服务器内存足够大 (例如 16GB+), 可以酌情减小。
* 这里我们以创建 2GB 的 Swap 文件为例。
* 创建 Swap 文件:
* 使用 fallocate 命令创建一个指定大小的文件。

Bash
sudo fallocate -l 2G /swapfile

* 或者使用 dd 命令
Bash
sudo dd if=/dev/zero of=/swapfile bs=1024 count=2097152

* if=/dev/zero: 输入设备,生成 0 字节数据流
* of=/swapfile: 输出文件
* bs=1024: 块大小,1024 字节 (1KB)
* count=2097152: 块数量,相当于 2GB (1024 * 2097152 = 2,147,483,648 字节)

* 设置文件权限:

Bash
sudo chmod 600 /swapfile

* 只有 root 用户可以读取和写入 Swap 文件。

* 将文件标记为 Swap 空间:

Bash
sudo mkswap /swapfile

* 启用 Swap 空间:

Bash
sudo swapon /swapfile

2. 设置开机自动挂载 Swap

* 编辑 /etc/fstab 文件:

Bash
sudo nano /etc/fstab

* 在文件末尾添加以下行:
Text Only
/swapfile   none    swap    sw      0       0

* 保存并关闭文件。

3. 修改 Swapiness 值 (可选)

* Swapiness 值 决定了系统在何时开始使用 Swap 空间。值越高,系统越倾向于使用 Swap。
* 默认值 60 对于服务器来说可能太高,可以考虑降低到 10 或者 20。
* 查看当前的 Swapiness 值:

Bash
cat /proc/sys/vm/swappiness

* 临时修改 Swapiness 值 (重启失效):
Bash
sudo sysctl vm.swappiness=10

* 永久修改 Swapiness 值:
* 编辑 /etc/sysctl.conf 文件:
Bash
sudo nano /etc/sysctl.conf

* 在文件末尾添加以下行:
Text Only
vm.swappiness=10

* 保存并关闭文件。
* 应用修改:
Bash
sudo sysctl -p

4. 验证 Swap 设置

* 查看是否启用了 Swap:

Bash
sudo swapon -s

或者
Bash
free -h

* 如果看到 /swapfile 或者有 Swap 信息,表示 Swap 空间已经设置并启用了。
* 也可以使用 htop 查看 swap