如何简单为VPS增加SWAP?什么是SWAP?

很多玩VPS的人都会遇到一个尴尬情况:内存不够用,但升级配置又太贵,给VPS增加SWAP,操作只需要几分钟,效果立竿见影,是低配服务器最划算的“自我救赎”,与其花钱升级套餐,不如先花五分钟把SWAP开起来应急,尤其适合预算有限的个人站长和刚开始接触服务器的新手。

为什么VPS内存不够怎么办?先从SWAP说起

我手里这台酷番云轻量服务器,2G内存,跑了Nginx、MySQL、WordPress和两个Python爬虫脚本,平时看着负载不高,但只要流量稍微上来一点,或者数据库查询慢半拍,OOM Killer就开始发威MySQL直接被系统杀掉,网站白屏,重启之后又重复这个循环,排查了大半天,日志里全是Out of memory: Kill process记录,这时候才意识到,真正的瓶颈根本不是CPU,是物理内存撞了天花板。

你知道SWAP指令有什么作用吗?
加载中
你知道SWAP指令有什么作用吗?

行业共识认为,SWAP是Linux系统里最被低估的“救命稻草”,它的本质是拿磁盘空间当内存用,把不活跃的内存数据临时挪到磁盘上,腾出物理内存给正在跑的进程,对VPS来说,这个方法尤其管用,因为大多数云厂商的内存定价都不便宜,而磁盘空间往往用不完。

当时我查了不少资料,发现不少国内用户搜索“VPS加SWAP设置步骤”时,都会扯到服务器卡顿、重启丢配置这些坑,其实只要按部就班地做完下面这几步,整个过程比我预想的要简单得多。

简单步骤为VPS增加SWAP:全程实操记录

以下操作在Ubuntu 22.04、Debian 12系统上通用,CentOS/Rocky系也能照搬,全程只需要一条SSH连接,不需要重启机器。

第一步:确认当前系统是否有SWAP

很多云服务商的默认镜像根本没开SWAP,先用这条命令确认一下:

free -h

如果你的输出里Swap那一行的total是0,那就说明这台机器处于“裸奔”状态,另外可以再用swapon --show看看是否已有swap文件存在,避免重复操作。

第二步:创建SWAP专用文件

创建一个名字叫swapfile的文件放在根目录,大小根据需求决定,我这次设置了2G,用fallocate一瞬间就能完成,比老教程里的dd命令快得多:

如何简单为VPS增加SWAP?什么是SWAP?

sudo fallocate -l 2G /swapfile

如果fallocate报错(某些老内核文件系统不支持),就退回传统写法:

sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

执行完可以用ls -lh /swapfile确认文件生成,看到2G的大小就说明没问题。

第三步:格式化并启用SWAP文件

先要把这个普通文件变成SWAP格式,否则系统不认:

sudo mkswap /swapfile

然后正式开启它:

sudo swapon /swapfile

这一步完成后,再跑一次free -h,就能看到Swap这一行的数字已经变了,说明SWAP已经在工作。

安全方面还差一步:这个文件里装的都是内存里的临时数据,权限必须收紧,不然有泄露风险,顺手把权限改成600(仅root可读写):

sudo chmod 600 /swapfile

第四步:写入fstab实现开机自动挂载

如果不做这一步,虚拟服务器重启之后,SWAP就自动失效了,前面几步全白做,用编辑器打开/etc/fstab,在末尾追加一行:

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

执行完成可以再复查一遍:

cat /etc/fstab

看到文件末尾有上面那一行,就说明开机自启已经配置好了,这里最容易踩的坑就是漏掉这一步,很多人“重启之后内存又满了怎么办”的焦虑,基本都是这个原因。

第五步:调整swappiness换页策略参数

swappiness是Linux内核用来决定“多积极使用SWAP”的参数,取值范围从0到100,默认值通常是60,这个数值在内存不太够用的时候会稍微激进了一点,导致磁盘读写变多,系统响应发沉,做服务器的时候,我建议把它调低到10到30之间,尽量优先使用物理内存:

sudo sysctl vm.swappiness=10

这只是临时生效,永久生效需要写入配置文件:

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

如果是宝塔面板用户,在“Linux工具箱”里可以找到一个“Swap”管理项,它的逻辑是让你填一个数字然后点一下按钮完事,方便是方便,但底层做的事情和上面这些命令一模一样,手动操作的好处是每一步都可见、可回滚,出问题也知道卡在哪。

如何简单为VPS增加SWAP?什么是SWAP?

SWAP设置多少合适?不同VPS配置的参考值

给VPS配SWAP,不是配得越大越好,SWAP太大会导致系统频繁读磁盘,速度反而比没有更难受,根据我自己的折腾经验以及网上不少运维同行的分享,不同物理内存的参考配置大概是这样:

物理内存大小 推荐SWAP大小 适用场景
512MB 1G至2G 单站点博客、轻量API服务
1G 1G至2G 个人网站、小型论坛(Discuz/WordPress)
2G 2G至3G 跑MySQL+Web服务,低流量生产环境
4G及以上 2G至4G 如果资源还紧张,优先加内存而不是堆SWAP

这套组合的逻辑很简单:SWAP是航道,不是停车场,小内存机器可以通过SWAP避免进程被杀,但它的边际效应很明显一旦系统实际使用的内存超过物理内存很多倍,SWAP不但救不了场,反而会拖垮IO,如果你做的是数据库这类吃内存的重活,与其加SWAP,不如考虑升级物理内存。

具体怎么在两个变量之间取舍,这里还有一条经验:如果你的VPS跑的是低延迟应用(比如API服务),SWAP只是兜底,别指望它替代内存;如果是当备份机、测试机用,SWAP可以放开一点,毕竟便宜量又足。

SWAP会拖垮硬盘吗?真实使用后的性能感受

这是很多人在“要不要给VPS加SWAP”上纠结最多的问题,先说结论:磁盘确实会多出读写消耗,但没有传闻中的那么夸张,尤其是现代VPS大多用的是SSD,随机读写性能比老式机械盘强了不少,业内专家指出,只要不是把SWAP当物理内存用、让系统持续大量换页,带来的IO损耗是在云服务器可接受范围内的。

我的这台酷番云轻量服务器,在开启SWAP之后,用vmstat观察了三天,si(从磁盘交换入内存)和so(从内存交换出磁盘)的值大部分时间都很小,只有在跑apt update或者编译小项目时才会看到明显的换页活动,日常跑Nginx和PHP-FPM,几乎感受不到存在。

如何简单为VPS增加SWAP?什么是SWAP?

真正需要担心的是那些本身磁盘IO就非常局促的超低配VPS,比如某些单核512M的入门机型,连基础运行都卡,这时候强行加一个4G的SWAP,等于给本来就窄的路又加了一辆三轮车,所以在使用这一段路径时,可以参考这个顺序:

  • 先看磁盘读写性能,用dd命令测一下缓冲写入速度,连50MB/s都不到就别折腾SWAP了。
  • 优先保证swapfile所在分区剩余空间充足,根目录快满了硬挤SWAP,等于给磁盘埋雷。
  • 用iostat或atop观察IO等待值(iowait),如果长期超过10%,说明IO已经告急,这时候买内存才是正路。

关于VPS增加SWAP的常见问题与解答

问:SWAP文件和SWAP分区有什么区别?

SWAP分区是磁盘上专门划出的一块独立区域,从系统安装时就固定好了,想调整大小就得折腾分区工具,SWAP文件则只是根目录下一个普通文件,通过内核挂载模拟成内存区域,想改大小删掉重新生成就行,新一代Linux系统基本都推荐用SWAP文件,原因就是省事、不干扰原有分区布局。

问:增加SWAP之后我的VPS会变快吗?

不会,SWAP解决的是“进程不被杀掉”的问题,不是“让计算更快”的问题,如果原来的内存勉强够用,加上SWAP之后你大概率感知不到速度变化;如果原来频繁触发OOM导致进程崩溃重启,你会发现网站稳定了不少,但这是“不崩溃”带来的体验提升,不是速度提升,真实场景是,遇到内存不足时,系统把不常用的内存页挪到SWAP,后续需要时再换回来,这中间会有微小延迟,但远比进程直接被干掉要好得多。

问:我用的宝塔面板,在里面的SWAP设置里填数字就能创建吗?

能,但有几个限制,宝塔面板的SWAP功能默认写死在根目录下,如果你的根分区空间所剩不多,面板不会主动提醒你,另外面板创建SWAP时也可以设置swappiness数值,但部分老版本没有这个选项,需要自己到/etc/sysctl.conf里手动调整,从实际使用角度看,宝塔面板的SWAP设置适合赶时间的时候用,手动SSH操作则适合需要精确控制swap大小和换页策略的场景,两种方式创建出来的swap文件效果没有实质差异。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/647134.html

赞 (0)
FractionHost$8/512M内存值吗,便宜VPS哪家好
上一篇 2026年9月12日 14:58
$4.99 Xen主机1G内存G口值得买吗,便宜VPS哪家好
下一篇 2026年9月12日 14:59

相关推荐

  • 服务器如何实现虚拟化?,有哪些具体步骤和方案?

    服务器虚拟化就是把一台物理服务器的CPU、内存、存储、网络等硬件资源抽象成可动态调度的资源池,再通过虚拟化层(Hypervisor)切割成多个相互隔离的虚拟环境(虚拟机),每个虚拟机都能独立运行操作系统和应用,互不干扰,这个过程的本质是“资源池化+逻辑隔离”,而不是物理切割,你不需要给每台虚拟机单独买硬件,只需……

    2026年8月8日
    2000
  • 英国服务器双ISP原生IP怎么样?英国原生IP服务器推荐

    在当前数字化业务出海的浪潮中,选择一款高性能、高稳定性的服务器是保障业务连续性的关键,本次测评针对市面上备受关注的英国服务器双ISP方案进行深度解析,重点考察其网络架构、硬件性能及性价比优势,该方案主打英国原生IP、DDR5内存技术以及流量不限的特性,非常适合大流量业务部署, 核心网络架构:双ISP与原生IP优……

    2026年3月10日
    12000
  • 佛山网站建设外包公司到底哪家好,价格多少

    选择佛山网站建设外包公司,核心在于根据自身业务阶段匹配合适的技术团队与协作模式,而非单一追求低价或名气,佛山网站建设外包公司哪家好?先看这三个核心维度选外包公司前,先把自己的需求拆解清楚,不同阶段的公司,对网站的要求完全不同,启动期企业需要快速上线展示型网站,成长期企业需要具备营销功能的官网,成熟期企业则可能需……

    2026年7月29日
    900
  • 国外短信好不好?国外短信平台哪个最靠谱

    在服务器运维与跨境业务架构搭建的领域中,短信网关的稳定性直接决定了用户注册转化率与账户安全等级,针对【国外短信好不好】这一核心议题,我们基于为期三个月的实际生产环境测试,对市面上主流的国外短信服务商及其底层服务器基础设施进行了深度测评,本次测评重点涵盖线路稳定性、到达率、延迟表现以及2026年度最新优惠活动分析……

    2026年3月19日
    12300
  • 高铁人脸识别系统真的能精准识别吗?高铁刷脸进站失败怎么办

    高铁人脸识别系统通过生物特征比对技术,实现了“刷脸”进站,其核心优势在于提升通行效率并强化实名制安全管控,目前已在绝大多数高铁站普及,高铁人脸识别系统的工作原理与核心优势从“刷证”到“刷脸”的技术跨越过去,乘坐高铁需要掏出身份证,插入闸机,等待机械结构识别,这一过程在早晚高峰容易形成排队瓶颈,系统通过高清摄像头……

    2026年5月29日
    11500
  • 国标网关服务器视频对接怎么弄?国标网关视频对接配置方法

    国标网关服务器视频对接是实现跨品牌安防设备互联互通、打破视频监控数据孤岛的最优且唯一合标路径,通过GB/T 28181协议标准实现底层信令与流媒体的标准化转换与统一调度,国标网关服务器视频对接的核心逻辑与价值破解安防监控的”巴别塔”困境在智慧城市与雪亮工程推进中,海康、大华、宇视等头部厂商的私有协议形成了严重的……

    2026年4月27日
    5300
  • 高配服务器最贵多少钱?顶级服务器配置及价格详解

    高配服务器的价格跨度极大,从几千元到上百万元不等,顶级定制服务器甚至可达数百万,具体取决于硬件配置、带宽需求及品牌溢价,很多人对“高配”的理解还停留在内存大、CPU核多这一层面,但在2026年的商业环境中,服务器定价逻辑已经发生了根本性变化,单纯堆砌硬件参数不再是唯一标准,稳定性、能效比、以及特定场景下的算力密……

    2026年5月31日
    8200
  • 现在BuyVM全面上货内存了吗,值得买吗

    buyvm时隔数月终于全面补货内存套餐,拉斯维加斯机房KVM虚拟化方案年付低至几十元档位,是现阶段少有的兼具性价比与稳定性的VPS选择,有需求可以直接入手,buyvm怎么样:全面上货内存套餐后的真实表现buyvm这次补货可以说是等了大半年,熟悉这家服务商的老用户都知道,buyvm的存货策略一向保守,尤其是内存套……

    2026年9月8日
    200
  • 负载均衡厂商如何制定渠道策略?负载均衡厂商渠道策略分析

    负载均衡厂商渠道策略分析在企业级网络架构中,负载均衡作为流量调度的核心组件,其性能、稳定性与扩展能力直接决定业务连续性与用户体验,当前主流厂商如F5、A10 Networks、Citrix、Nginx(OpenResty)、阿里云、腾讯云等,均围绕渠道策略构建差异化市场渗透路径,本文基于实测环境(CentOS……

    2026年4月15日
    5800
  • 佛山网站设计公司哪家最靠谱,哪家服务好?

    在佛山选网站设计公司,核心不是找排名最靠前的,而是找能把你预算花在刀刃上的那家,判断标准就三条:案例真伪、技术栈新旧、售后响应速度,佛山网站设计公司哪家好——先看清这三点再对比很多老板搜“佛山网站设计公司”的时候,脑子里其实是一团浆糊,市面上几十家公司,官网看起来都差不多,案例感觉都很炫,报价却天差地别,这时候……

    2026年8月17日
    500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注