插件窝 干货文章 Linux云服务器如何设置swap

Linux云服务器如何设置swap

Swap sudo swapfile 设置 144    来源:    2025-04-23

Linux云服务器设置Swap分区指南

Swap空间是当物理内存(RAM)被完全使用时作为内存扩展的磁盘空间。在云服务器上合理配置Swap可以提高系统稳定性,特别是在内存有限的场景下。

检查现有Swap空间

在设置Swap前,先检查系统是否已有Swap:

sudo swapon --show
free -h

创建Swap文件的步骤

1. 创建Swap文件

sudo fallocate -l 2G /swapfile

或者使用dd命令(如果fallocate不可用):

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

2. 设置正确的权限

sudo chmod 600 /swapfile

3. 格式化文件为Swap

sudo mkswap /swapfile

4. 启用Swap文件

sudo swapon /swapfile

5. 使Swap永久生效

编辑/etc/fstab文件,添加以下行:

/swapfile none swap sw 0 0

优化Swap设置

调整Swappiness值(0-100)

# 查看当前值
cat /proc/sys/vm/swappiness

# 临时修改(推荐设置为10-60之间)
sudo sysctl vm.swappiness=30

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

调整缓存压力设置

# 查看当前值
cat /proc/sys/vm/vfs_cache_pressure

# 修改(推荐设置为50-100)
sudo sysctl vm.vfs_cache_pressure=50

# 永久修改
echo "vm.vfs_cache_pressure=50" | sudo tee -a /etc/sysctl.conf

删除Swap文件(如需)

# 禁用Swap
sudo swapoff -v /swapfile

# 删除Swap文件
sudo rm /swapfile

# 从/etc/fstab中删除相关行

最佳实践建议

  1. Swap大小建议

    • 4GB以下RAM:Swap大小为RAM的2倍
    • 4-16GB RAM:Swap大小等于RAM
    • 16GB以上RAM:Swap大小为4GB或更少
  2. 性能考虑

    • 将Swap文件放在高性能存储上(如SSD)
    • 避免在频繁I/O的磁盘上设置Swap
  3. 云服务器特殊考虑

    • 某些云平台可能已预配置Swap
    • 检查云服务商文档,了解是否有Swap相关限制
  4. 监控Swap使用

    watch -n 1 free -h
    

通过合理配置Swap,可以在内存不足时防止系统崩溃,同时避免过度使用Swap影响性能。