VPS添加Swap交换分区解决虚拟内存不足的问题

  • A+
所属分类:VPS教程
新用户注册Vultr赠送50-100体验金

现在VPS的内存基本上都在1G以上,但是也有小内存的VPS,目前Vultr和搬瓦工的VPS最低内存是1G起步,不过还有一些老的VPS套餐,比如前两年Vultr和搬瓦工VPS的入门级内存都是512M,甚至还有更少的内存。VPS内存小的话Swap分配的也不会太多,如果需要编译安装环境对有些源码是有影响的,会导致很多进程被杀掉,搭建网站的话有时候会发现内存资源不足,甚至有隔一段时间会出现服务器宕机的问题,其实主要问题并不是服务器不稳定,而是内存资源不足。解决这个问题的办法除了升级更高配置的的VPS外,我们还可以增加Swap交换分区,来实现虚拟内存不足的情况。

Swap是什么


在正文前面我们需要知道什么是Swap?Swap是什么?

SWaP (Linux系统中的交换分区)

以下来自百度百科

Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。

交换分区,英文的说法是swap,意思是“交换”、“实物交易”。它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。

上面的百度百科解释的已经很清楚了,Swap的交换分区就如同我们电脑的虚拟内存一样,Swap只有在我们物理内存不足的情况下才起作用,但是Swap虚拟出来的内存与我们的物理内存在速度上有很大的差别,它的速度和物理内存比起来慢了许多,Swap只是解决临时出现内存不足的情况,长期使用最好的办法是解决物理内存。

设置多大的Swap交换分区比较合适呢?

一般情况下,大多都认为Swap交换分区设置为物理内存的2倍最为合适,比如你现在的物理内存是512M,那么Swap交换分区设置为1024M最为合适,也就是设置为1G的物理内存。

但是对于大内存的VPS可以不必设置2倍的Swap交换分区,没有这个必要,比如你的VPS是2G的物理内存,Swap交换分区设置成和你物理内存一样大就行,也就是把Swap交换分区也设置为2G就可以了。

那么如何设置Swap交换分区呢,下面跟着小编来进行操作吧。

VPS添加Swap交换分区


在增加Swap交换分区之前,我们需要先查看一下Swap交换分区大小

查看Swap分区大小

首先我们需要登录SSH,不知道怎么登录SSH的参考《Windows 环境下利用 Xshell 软件远程连接 Vultr VPS 教程》。

登录SSH后,输入以下命令进行查看Swap分区大小:

#查看Swap分区大小
free -h

命令输入后“回车”,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

从上图可以看出,目前这个VPS的物理内存是768M(实际物理内存768M),Swap分配的是195M的虚拟内存。

如果要增加Swap交换分区,就要先删除目前的Swap分区,删除后我们再增加Swap交换分区。(不删除目前的Swap交换分区是不能增加新的Swap交换分区

删除Swap交换分区

输入以下命令删除Swap交换分区

#删除Swap交换分区
swapoff -a

命令输入后“回车”,“回车”后在SSH上面是没反应的,但是已经删除了Swap交换分区,如果不确定有没有删除Swap交换分区,我们可以再次查看Swap分区大小。输入命令:

#查看Swap分区大小
free -h

然后我们再次查看Swap分区大小已经变为了0M,说明已经删除了Swap交换分区,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

新增SWAP交换分区

创建swap分区的文件,输入以下命令:

#创建swap分区的文件
dd if=/dev/zero of=/root/swapfile bs=1M count=1024

以上命令中

  • “root/swapfile”:是swap的文件路径,大家可以根据自己的情况进行修改。
  • bs=1M:“bs”是每块的大小。
  • count=1024:“count”是块的数量。
  • SWAP交换分区=bs*count,也就是1M*1024=1G

SWAP交换分区大小大家可以自行修改。

命令输入后“回车”,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

格式化交换分区文件

格式化交换分区文件的路径要和上面“swap的文件路径”相同!

输入命令:

#格式化交换分区文件
mkswap /root/swapfile

命令输入后“回车”,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

启用swap分区文件

输入以下命令启用swap分区文件

#令启用swap分区文件
swapon /root/swapfile

命令输入后“回车”,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

添加开机启动

注意这里的路径,要与上面的路径一致!!!

输入命令添加开机启动

#添加开机启动
/root/swapfile swap swap defaults 0 0

命令输入后“回车”,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

设置完成,再次查看Swap分区大小

目前我们增加Swap交换分区已经完成,可以再次输入命令查看Swap分区大小,看看是不是已经增加了。

#查看Swap分区大小
free -h

命令输入后“回车”,如图:

VPS添加Swap交换分区解决虚拟内存不足的问题

好了,本教程到此已经结束,如果没有VPS的,或者需要VPS的网友可以买个玩玩,不知道买什么VPS可以看看下面的最值得买的VPS吧。

最值得买的VPS方案整理


搬瓦工方案整理

以下几款VPS是在众多搬瓦工VPS中挑选出来的几款目前最值得购买的VPS套餐,如有需要的网友可以看看:

搬瓦工VPS套餐 CPU 内存大小 硬盘容量 每月流量 带宽 价格/年 购买链接
CN2线路-最便宜 1核 1024 MB 20 GB 1000 GB 1 Gbps $49.99 点击进入
KVM线路-最便宜 2核 1024 MB 20 GB 1000 GB 1 Gbps $49.99 点击进入
CN2 GIA线路-最推荐 2核 1 GB 20 GB 1000 GB 1 Gbps $113.99 点击进入
CN2-GIA-E-最推荐 2核 1 GB 20 GB 1000 GB 2.5 Gbps $169.99 点击进入
香港CN2 GIA线路-最优质 2核 2048 MB 40 GB 500 GB 1 Gbps $899.99 点击进入
Vultr方案整理

如果上面没有你想要的VPS套餐,也可以看看Vultr的VPS,Vultr目前最低价格是5美元一个月,收费模式是按时计费,不用不扣钱,更多Vultr的详细教程可以在站内搜索。

下面是Vultr目前的优惠活动,充值10美元赠送50美元,活动地址:

Vultr赠送50美金优惠活动地址:点击进入

本次Vultr优惠活动详情请参考:2020年Vultr最新优惠活动-Vultr免费试用赠送50美金

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: