人们常说,网络是服务器的生命线,没有了网络,服务器再怎么牛逼,都跑不起来。然而偏偏有这么一票的服务器,他的网络很好,CPU也很好,就是内存有点小。他们是主机界的独行侠——入门级VPS服务器。

入门级服务器游走于各大主机商,以超低的价格,超值的性能,吸引不少想尝鲜,但是经济能力有限的用户。然而往往当用户购买后才发现,这些服务器在运行大型程序的时候,会频繁崩溃,甚至无法正常运行。这个时候就要请出我们今天的主角——虚拟内存。

在《计算机操作系统》一书中讲到:
内存,是计算机系统中的主要部件,用于保存进程运行时的程序和数据,也称可执行存储器。
虚拟内存,是指具有请求调入功能和置换功能,能存逻辑上对内存容量加以扩充的一种存储系统。

闲话不多说,开始今天的教程:

前提条件:
1、服务器系统:CentOS6+/Debian7+/Ubuntu12+
2、虚拟化架构:KVM、Hyper-V、VMware

1、以root账户登陆VPS服务器,创建交换文件目录:
在根目录创建 /swap 文件夹

mkdir /swap

2、切换到交换目录:

cd /swap

3、创建一个交换文件,bs不能超过实际内存大小,可以用count来叠加

dd if=/dev/zero of=swapfile bs=1MB count=128
# 创建一个128MB虚拟内存

dd if=/dev/zero of=swapfile bs=1MB count=384
# 创建一个384MB虚拟内存

dd if=/dev/zero of=swapfile bs=1MB count=512
# 创建一个512MB虚拟内存

4、设置并建立交换区:

mkswap ./swapfile
# 设置并建立交换区

5、为了安全起见,赋予文件600权限

chmod 600 ./swapfile
# 赋予交换文件600权限

6、启用交换分区

swapon ./swapfile
# 启用交换分区

7、设置开机自动加载交换分区

echo "/swap/swapfile swap swap defaults 0 0" >>/etc/fstab
# 添加/swap/swapfile 交换分区开机后自动挂载

8、重启,并且检查设置是否生效:

reboot
# 重启服务器

free -h
查看服务器内存使用情况,SWAP一行就是新添加的虚拟内存


说明:
1、部分服务器自带一些SWAP交换分区,自行添加后,两个分区的容量将会叠加
2、OpenVZ虚拟化架构无法自主添加交换分区
3、感谢梨园群群友们的修改建议

Last modification:May 13, 2022
如果觉得我的文章对你有用,请随意赞赏