小内存云服务器别急着裸奔:给 512MB 内存加一道 swap 保险

举报
yd_211833921 发表于 2026/10/23 07:47:35 2026/10/23
【摘要】 很多人薅到便宜的小规格云服务器,第一件事就是装应用跑服务。但 512MB 甚至 1GB 内存的机器有个隐藏雷区:内存一旦被打满,系统会直接触发 OOM,把进程杀掉,服务莫名其妙就没了。日志里只留下一句 Out of memory,新手往往要排查很久。解决办法不复杂:加一块 swap(交换空间),让硬盘临时充当内存的缓冲垫。它速度远不如真内存,但关键时刻能保命——突发流量、编译时内存尖峰,有了...

很多人薅到便宜的小规格云服务器,第一件事就是装应用跑服务。但 512MB 甚至 1GB 内存的机器有个隐藏雷区:内存一旦被打满,系统会直接触发 OOM,把进程杀掉,服务莫名其妙就没了。日志里只留下一句 Out of memory,新手往往要排查很久。

解决办法不复杂:加一块 swap(交换空间),让硬盘临时充当内存的缓冲垫。它速度远不如真内存,但关键时刻能保命——突发流量、编译时内存尖峰,有了 swap 就只是变慢,而不是直接崩掉。

在 Debian / Ubuntu 上添加 1GB swap

全程只需要几条命令(root 或 sudo 执行):

  1. 创建交换文件:fallocate -l 1G /swapfile
  2. 收紧权限:chmod 600 /swapfile
  3. 格式化为交换空间:mkswap /swapfile
  4. 立刻启用:swapon /swapfile
  5. 写进开机自启:在 /etc/fstab 末尾追加一行 /swapfile none swap sw 0 0
  6. 验证:free -h,看到 Swap 一行有容量就说明生效了

几个容易踩的坑

第一,只执行 swapon 不写 fstab,重启后 swap 就消失了,这是最常见的翻车点。

第二,swap 大小不是越大越好。小内存机器建议设为内存的 1 到 2 倍;512MB 内存配 1GB swap 是比较稳妥的组合,再大只会白占磁盘。

第三,swap 里的数据会落盘,云盘 IO 差的机器重度使用 swap 时整机会明显变卡。它是保险,不是扩容;如果 free 显示 swap 长期被大量占用,说明该升级配置或优化程序了。

第四,可以顺手把 swappiness 调低(如 10~20),减少系统主动用 swap 的倾向,让它只在真内存告急时出手,配置在 /etc/sysctl.conf 里加 vm.swappiness=10 即可。

小结

给小服务器加 swap 属于五分钟的成本、长期受益的动作:防 OOM、防莫名崩溃、给突发负载留缓冲。尤其是长期挂着的轻量服务,先把这道保险加上,再安心折腾别的。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。