768M 小内存云服务器别硬扛:加 swap 与省内存四招

举报
yd_254320880 发表于 2026/10/24 19:21:17 2026/10/24
【摘要】 2 核 768M 小实例别急着升配,先确认是不是内存问题,再按加 swap 保命、看清内存去向、关闲置服务、给服务设内存上限四步调优,每步给命令和验证标准。

前言

很多新手买云服务器图便宜,选了 2 核 768M 的小实例,装两三个服务就开始卡,严重的进程会被系统直接杀掉,服务莫名其妙挂掉。第一反应往往是“配置太小了,升配吧”。其实先做下面四步,很多小实例能稳稳跑起来——我这台 2 核 768M 的新加坡 Flexus 就是这么调的,跑 sing-box 一类轻服务完全够用。

第零步:先确认是不是内存问题

别凭感觉,先看系统有没有因为内存杀过进程:

dmesg | grep -i -E 'oom|killed process'
journalctl -k | grep -i 'out of memory'

判断标准:看到 “Out of memory” 和被杀的进程名,就是内存问题,继续往下做;什么都没看到,就别往内存上折腾,先查 CPU、磁盘、网络。

第一步:加 swap,给系统留条后路

内存不够时,Linux 会直接杀进程(OOM Killer)。加一块 swap,内存爆满时先把不活跃的数据换到磁盘上,服务能活下来——虽然会变慢,但不断线。

加 1G swap(和我这台一样):

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

判断标准:free -h 能看到 Swap 一行、总量 1.0G;重启后还在(fstab 写了就不会丢)。

再调一个参数:swappiness 默认 60,意思是内存用到一定程度就积极用 swap。小内存机器上可以调低到 10,让系统尽量用物理内存、少碰 swap:

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

判断标准:cat /proc/sys/vm/swappiness 输出 10。

小提醒:swap 是救命绳不是加速器,频繁读写 swap 说明内存真不够了,长期还是要升配;磁盘空间紧张的机器别把 swap 开太大。

第二步:看清内存到底被谁吃了

free -h
ps aux --sort=-%mem | head -10

判断标准:free 的 available 一栏才是真正能用的内存;ps 排在前面的 RSS 最大的那几个进程就是大头。很多时候吃内存的不是你的服务,是系统自带的一些用不上的东西。

第三步:关掉用不上的服务

小内存机器上,每一个常驻进程都是成本:

systemctl list-unit-files --state=enabled

挑出确认不用的,停掉并禁自启(比如用不上的打印、蓝牙、图形相关服务):

sudo systemctl stop xxx && sudo systemctl disable xxx

判断标准:重启后 free 的 available 比原来多,且你的服务都还在。

注意:不认识的服务别乱关,先查一下它是干嘛的;关之前记下名字,万一出问题能原样开回来。

第四步:给关键服务设内存上限

怕某个服务内存泄漏拖垮整机?用 systemd 的 MemoryMax 给它画条线:

sudo systemctl edit 你的服务名

在打开的编辑器里写:

[Service]
MemoryMax=300M

保存后:

sudo systemctl daemon-reload && sudo systemctl restart 你的服务名

判断标准:systemctl show 你的服务名 -p MemoryMax 能看到 300M;服务超了会被限制,而不是把整机拖死。

没有 systemd 的服务,也可以用 ulimit -v 限制单个进程的虚拟内存,效果粗一些,适合临时兜底。

小结

顺序是:确认是内存问题 → 加 swap 保命 → 看清去向 → 关闲置服务 → 给服务画上限。每次只改一处,改完看 free -h 验证,别一次全改完再排障。

记住 swap 只是缓冲,长期满载还是升配更划算;但在升配之前,这四步能让 768M 的小实例多撑很久。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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