什么是Swap空间

Swap 空间是 Linux 系统中的虚拟内存,当物理内存(RAM)不足时,系统会将暂时不用的内存页面移到 Swap 空间,从而释放物理内存供其他程序使用。当你的 Linux 系统物理内存比较少时(例如你是1g内存的服务器),创建 Swap 空间可以极大减轻服务器的压力

配置Swap空间的步骤

1. 检查当前Swap状态

free -h
swapon --show

2. 创建Swap文件

# 创建一个2GB的swap文件
sudo dd if=/dev/zero of=/swapfile bs=1G count=2
# 如果报错的话,改成下面的这行命令
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

# 设置正确的权限
sudo chmod 600 /swapfile

# 设置为swap格式
sudo mkswap /swapfile

3. 启用Swap空间

# 立即启用swap
sudo swapon /swapfile

# 设置开机自动启用swap
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

4. 验证Swap是否成功启用

free -h
swapon --show

Swap空间使用建议(仅供参考(ฅ´ω`ฅ))

  • 物理内存小于2GB时,建议设置2倍内存大小的Swap
  • 物理内存2-8GB时,建议设置与内存相同大小的Swap
  • 物理内存大于8GB时,建议设置8GB或根据实际需求配置
  • 服务器用作数据库等性能敏感应用时,需要根据具体情况调整Swap大小

调整Swap使用策略

可以通过修改/proc/sys/vm/swappiness参数来调整系统使用Swap的倾向:

# 临时修改(重启后失效)
sudo sysctl vm.swappiness=60

# 永久修改
echo 'vm.swappiness=60' | sudo tee -a /etc/sysctl.conf

swappiness取值范围是0-100:

  • 值越低,系统越倾向于保留数据在物理内存中
  • 值越高,系统越倾向于将数据移到Swap空间

以上!

总结

一键启动 2G swap 脚本(如果内存大于 1G 选第一个,小于 1G 选第二个):

sudo dd if=/dev/zero of=/swapfile bs=1G count=2 && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

对我个人来说,创建 Swap 空间是每次部署服务器开机必做的事情,因为确实很好用

最后修改:2025 年 02 月 23 日
如果觉得我的文章对你有用,请随意赞赏(☆ω☆)