如何添加swap内存

购买过云服务器的朋友们应该也注意到,内存稍微大点价格直接翻倍!有些时候我们系统对运行读写速度要求不是太高,但项目部署上去又很占内存(比如:部署gitlab),这时候就可以使用到Swap内存了!

什么是Swap内存?

Swap内存,也称为交换空间或交换文件,是操作系统中的一种功能,用于在物理内存(RAM)和硬盘之间动态交换数据**。当系统物理内存不足时,部分内存中的数据会被移动到硬盘上的Swap空间**,从而释放出物理内存供其他程序使用。

正常情况下,云服务器厂商不会分配Swap内存,接下来,我将详细图文教程带大家3分钟安装好Swap内存

1. 创建 Swap 文件

首先,选择一个合适的大小来创建 Swap 文件。例如,我这里创建一个 8 GB 的 Swap 文件:

1
sudo fallocate -l 8G /swapfile

执行完成后,可以看到会生成一个/swapfile的8G空间

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

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

2. 设置合适的权限

1
sudo chmod 600 /swapfile

这里把创建的/swapfile权限改成600,如果不改权限下一步创建swap区会有以下建议提示,该权限**可以确保只有系统管理员(root 用户)可以访问和管理交换文件**,从而增强系统的安全性。

3. 将文件格式化为 Swap 区域

使用 mkswap 命令将文件格式化为 Swap 区域:

1
sudo mkswap /swapfile

4. 启用 Swap 文件

使用 swapon 命令启用 Swap 文件:

1
sudo swapon /swapfile

5. 验证 Swap 是否启用

使用 free -hswapon --show 命令检查 Swap 是否已启用:

1
free -h

或者:

1
swapon --show

6. 永久启用 Swap 文件

为了在系统重启后仍然保持 Swap 文件启用,需要将其添加到 /etc/fstab 文件中:

1
sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

7. 调整 Swap 使用优先级(可选)

可以调整 Swap 的使用优先级(swappiness),默认值是 60,表示系统会较频繁地使用 Swap。你可以根据需要调整这个值,例如设置为 30:

1
sudo sysctl vm.swappiness=30

为了在重启后保持这个设置,可以将其添加到 /etc/sysctl.conf 文件中:

1
sudo sh -c 'echo "vm.swappiness=10" >> /etc/sysctl.conf'

完成以上步骤后,云服务器就可以成功添加并启用了 Swap 内存。


如何添加swap内存
http://example.com/2025/02/20/后端技术互联/如何添加swap内存/
作者
技术Z先生
发布于
2025年2月20日
许可协议