在Ubuntu服务器上使用Swap可通过创建Swap文件或分区实现,以下是具体步骤及关键操作:
一、创建Swap文件(推荐)
- 创建文件:用
fallocate或dd命令生成指定大小的文件(如4GB)。sudo fallocate -l 4G /swapfile # 推荐,速度快 # 或 sudo dd if=/dev/zero of=/swapfile bs=1G count=4 - 设置权限:限制仅root可访问。
sudo chmod 600 /swapfile - 格式化为Swap:标记文件为交换空间。
sudo mkswap /swapfile - 启用Swap:立即激活交换空间。
sudo swapon /swapfile - 开机自启:编辑
/etc/fstab,添加以下行确保重启后生效。/swapfile none swap sw 0 0
二、创建Swap分区(可选)
- 分区:用
fdisk或gparted创建新分区,类型设为Linux swap(代码82)。 - 格式化:格式化分区为Swap。
sudo mkswap /dev/sdXn # 替换为实际分区名(如/dev/sda2) - 启用与自启:同Swap文件步骤。
三、优化与监控
- 调整Swappiness:控制内核使用Swap的倾向(0-100,建议服务器设为10-30)。
# 临时修改 sudo sysctl vm.swappiness=20 # 永久修改 echo 'vm.swappiness=20' | sudo tee -a /etc/sysctl.conf - 监控使用情况:通过
free -h或swapon --show查看Swap占用。
四、注意事项
- 性能优先:优先使用SSD存储Swap文件,避免HDD导致延迟。
- 大小建议:
- 物理内存≤4GB:Swap设为内存2倍。
- 内存>8GB:Swap设为4-8GB或与内存相等。
- 禁用风险:禁用Swap可能导致内存不足时进程被强制终止(OOM)。
操作前建议备份重要数据,复杂分区操作需谨慎。参考来源: