VPS内存不够了加swap?SWAP配置、大小和性能代价说明

什么时候该加、创建SWAP文件、swappiness控制倾向和SWAP vs 加物理内存权衡
发布于
1

1GB内存的VPS跑MySQL+PHP+Nginx,内存用满只是时间问题。加SWAP(虚拟内存)能让系统在内存不够时用磁盘当临时内存用。但它不是免费午餐——SSD的读写速度比内存慢几十倍,SWAP用多了系统卡成狗。

什么时候该加SWAP

SWAP是保险绳不是扩展内存。当你偶尔内存峰值高出物理内存一点点(比如编译代码、定时任务跑备份脚本),SWAP帮你兜住不让OOM Killer杀进程。当你日常内存占用就超过物理内存,SWAP救不了——大量SWAP读写会让性能雪崩。

# 看当前SWAP使用情况
free -h
swapon --show

如果swapon显示已经有SWAP但free里SWAP used很少——够用了不用加。如果free里SWAP used接近SWAP total——该想办法增加物理内存或优化应用,SWAP加到上限也没用。

创建SWAP文件

# 创建一个2GB的SWAP文件
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

# 持久化(重启后还在)
echo '/swapfile none swap sw 0 0' >> /etc/fstab

# 验证
free -h
swapon --show

雨云入门VPS 1核1G内存,加1-2GB SWAP合理。优惠码 admin01 首月五折。

SWAP设多大合适

VPS内存 建议SWAP大小
512MB 1-2GB
1GB 1-2GB
2GB 2GB
4GB及以上 2-4GB

过时的”SWAP=2倍物理内存”规则不适用了。SWAP太大没意义——用满了系统也基本不可用了。

控制SWAP使用倾向

Linux有个swappiness参数控制系统使用SWAP的倾向——0(尽量不用SWAP)到100(积极用SWAP)。默认60。VPS建议设10-20:

echo 'vm.swappiness=15' >> /etc/sysctl.conf
sysctl -p
# 验证
cat /proc/sys/vm/swappiness

swappiness=15的意思是系统在内存使用85%以上才开始用SWAP。你不会因为系统”过早”用到SWAP而体验卡顿。

SWAP vs 加物理内存

SWAP免费但慢(磁盘IO是内存的1/100)。物理内存月付几元但快。能加物理内存优先加——比如雨云从1G升到2G内存月费加几元。实在不能加再用SWAP兜底。

常见问题

加了SWAP后MySQL性能暴跌?

innodb_buffer_pool_size可能设得太大导致频繁SWAP。buffer_pool+应用内存总需求超过了物理内存。调小buffer_pool让总内存需求在物理内存范围内。

删掉SWAP文件怎么操作?

swapoff /swapfile → rm /swapfile → 从/etc/fstab里删对应行。确认free -h里SWAP total变0。

SWAP文件比SWAP分区好吗?

VPS上建议用SWAP文件——灵活、随时创建删除、不用重启。SWAP分区需要预先分配磁盘空间。性能差异可以忽略。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

VPS用着用着突然变卡,网站打开要好几秒、SSH敲命令有明显延迟——这种情况比完全断连更难排查。不是挂了,是慢了。本文用四个命令分别定位CPU、内存、磁盘IO和网络的瓶颈,告诉你性能卡在哪个环节。 排查前的第一步:确认不是自己的网络问题 很

Nginx默认配置能跑,但远不是最优——没有开启Gzip压缩浪费带宽、没有文件缓存每次请求都读磁盘、并发连接数默认只有512在高流量下不够用。花十分钟调几个关键参数,性能和用户体验有明显提升。 开启Gzip压缩——最直接的提速 网页的HTM

一台VPS撑不住了——CPU跑满、带宽打满、偶尔502。这时候加配置是一条路,但单机的上限摆在那里。更灵活的做法是加机器做负载均衡:多台VPS分担流量,一台挂了其他继续服务。本文用Nginx反向代理搭建一个最基础的负载均衡方案,三台后端服务

便宜VPS选不好要么线路卡到怀疑人生、要么三天两头宕机丢数据。本文按四种典型需求——学生建站、游戏开服、Docker自托管和代理搭建——分别推荐五个性价比高的VPS,附实测数据和选购避坑点。 选VPS之前先搞清楚自己要什么 不同需求对VPS