Ubuntu VPS 内存不够,怎么添加 Swap?
先查看内存、现有 Swap 和文件系统。ext4 示例建立 1GiB 交换文件;持续换页还要处理负载或增加内存。
小内存 VPS 更新程序或跑后台任务时,可能需要临时借用磁盘作为 Swap。它比 RAM 慢,长期大量换页时,还是要减少负载或增加内存。
先确认已有配置
free -h
swapon --show
df -h /
findmnt -no FSTYPE /
已经有足够 Swap 时,先排查应用占用和 OOM。确认根文件系统类型与磁盘余量;下面示例面向支持该方式的常规 ext4 环境,Btrfs、网络文件系统等要按相应要求另处理。
建立示例的 1GiB 交换文件
确认 /swapfile 尚不存在、磁盘足够,再逐步执行。不要覆盖已有文件:
sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
swapon --show
free -h
任一步报错先停止处理,不能忽略文件系统、权限或激活失败继续配置。示例容量不是所有 VPS 的建议值,按实际内存压力和磁盘空间决定。
需要开机启用,再编辑 fstab
先备份 /etc/fstab,检查是否已有同名条目,再增加一次:
/swapfile none swap sw 0 0
不要每次运行脚本都重复追加。确认当前 Swap 已激活,并在有控制台退路的维护安排中验证重启后配置。修改 fstab 的错误可能影响启动,恢复入口要保留。
Swap 经常用满,要不要加内存
观察应用、数据库和后台任务同时运行的用量。Swap 只缓解部分压力,持续换页时继续看内存规格怎么选,比较增配与迁移的完整费用。单个程序异常占用先修复,不能让扩容掩盖持续泄漏或错误并发。删除交换文件前,先按实际环境停用并移除开机条目,不直接删除仍在使用的文件。
正常业务持续消耗内存时,可将现有应用峰值与数据库缓存相加,再比较更大的内存规格。可到 查看 Evoxt 的内存规格 或 查看雨云 RCS 的变配与新实例选项,先确认升级方式、停机影响及费用。小型网站与数据库组合可从 4 GB 档试部署,部署后观察真实峰值;程序泄漏与异常任务仍需修复,Swap 也不能替代内存预算。




