服务器

给VPS增加SWAP区(虚拟内存)(详细解析,原创)

阿里云

提示:

本文的方法已在阿里云、几家美国的XEN VPS上进行过测试,系统均为Cent OS 5.X 32位。皆成功!

至于Ubuntu、Debian等其他系统,因时间关系,未来得及测试!因没有OpenVZ的VPS,因此未知OpenVZ是否可以使用此方法。

 已有SWAP区的也可以使用此方法增加SWAP区大小!

 

 

 

 

 

 

============以下是正文内容=============
阿里云

 

 

 

 

 

最近入手了一台阿里云的VPS。

经过测试,性能挺好,速度也挺快,要备@案是个杯具,反正不能开站,拿来折腾是不错的!

安装好LNMPA,打开探针,发现根本没有SWAP区(虚拟内存)。

SWAP

虽然说有512MB的物理内存,但是在必要时刻,虚拟内存还是有用的,Windows的虚拟内存可以自行设定,那么Linux不可能不行吧,于是发挥我的DIY精神,自己动手添加SWAP区(虚拟内存)!

虚拟内存,就是把内存设在硬盘上,那就要用硬盘的空间,现在的VPS一般都至少有10GB硬盘的。我的阿里云就有40GB。

于是用“开玩笑”的方法,把未使用的空间给挂载到/home上:Xen Linux VPS硬盘挂载教程(重装系统不丢数据) (已挂载硬盘或者使用已有空间的可以忽略)

挂载完成后,分别用

可以看见已成功挂载到/home/

于是输入

进入hone目录

执行

#dd if=/dev/zero of=yzsme bs=1024 count=524288

创建一个名为”yzsme”的512MB大的SWAP(此步骤可能有点慢,需要等一下)。

PS:

of=yzsme的yzsme是swap文件的名称,可以自行修改,但是下文执行的命令中也要相对应的修改该名称。

bs=1024的1024是指每个扇区占用1024Byte,也就是1KB。一般不用修改。

count=524288的524288指的是SWAP文件大小。计算方法如下:512MB有512个1024KByte,512*1024=524288,524288刚刚好是512MB。如果要设置为1GB的话,那就是有1024个1024KB,1024*1024=1048576,那就把524288改成1048576。如果是256MB,那就是有256个1024KB,256*1024=262144,那就把524288改成262144!以此类推!

执行完上面那步后,执行以下代码(打了颜色的部分代码代表如果你在执行上文代码时改了,就要相对应的进行修改):

创建swap文件:

#/sbin/mkswap yzsme

激活swap文件:

#/sbin/swapon yzsme

检查swap是否正确:

#/sbin/swapon -s

返回如下结果,表示成功:

Filename                         Type             Size                       Used          Priority
/home/yzsme               file                 524280              0                  -2

 

 

虽然SWAP区已成功启用,但是重启后又会消失,因此需要设置开机自动启用SWAP:

使用vim或者SFTP工具修改 /etc/fstab

vim工具:#vim /etc/fstab

在末尾添加如下内容:

/home/yzsme swap swap defaults 0 0

如图:

 

修改完成后,保存,进行重启:

#reboot

重启完成后,查看空闲的内存:

#free -m

可以看到SWAP的大小已经相对应的增加了!使用PHP探针,也看到SWAP区了:

PHP探针

 

为了测试SWAP区是否可用,我特意用VNC在VPS上使用Qemu运行Windows耗费RAM:

从PHP探针可以看到,SWAP区已相对应地使用了一部分:

PHP探针

到这一步,就表示你大功告成了!!!

 

如果要停用此SWAP,也很简单:

#swapoff /home/yzsme

如果要删除的话,可以直接执行:

#rm -rf /home/yzsme

当然,也要相对应地对/etc/fstab进行修改了!

(95 Posts)

自信、努力、活出精彩;以前未所见的颜色,绘大千世界!

View all author’s posts

4 thoughts on “给VPS增加SWAP区(虚拟内存)(详细解析,原创)”

Leave a reply