Swap空间是当物理内存(RAM)被完全使用时作为内存扩展的磁盘空间。在云服务器上合理配置Swap可以提高系统稳定性,特别是在内存有限的场景下。
在设置Swap前,先检查系统是否已有Swap:
sudo swapon --show
free -h
sudo fallocate -l 2G /swapfile
或者使用dd命令(如果fallocate不可用):
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
编辑/etc/fstab
文件,添加以下行:
/swapfile none swap sw 0 0
# 查看当前值
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
sudo swapoff -v /swapfile
# 删除Swap文件
sudo rm /swapfile
# 从/etc/fstab中删除相关行
Swap大小建议:
性能考虑:
云服务器特殊考虑:
监控Swap使用:
watch -n 1 free -h
通过合理配置Swap,可以在内存不足时防止系统崩溃,同时避免过度使用Swap影响性能。